XAML 从 ListViewItem 获取 Item 文本值
XAML Get Item text value from ListViewItem
我有一个 ListView 控件 项目由两个 TextBlock 组成,如下所示:
<ListView x:Name="resultsList" ItemsSource="{Binding}" HorizontalAlignment="Left" Height="470" Margin="10,0,0,0" VerticalAlignment="Top" Width="342" FontSize="21.333" BorderThickness="0" ItemClick="RedirectPage" IsItemClickEnabled="True" SelectionMode="None">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Margin="0,-4,0,-4">
<StackPanel.Resources>
<Style TargetType="TextBlock">
<Setter Property="Margin" Value="0,0,0,0" />
</Style>
</StackPanel.Resources>
<TextBlock FontSize="35" Text="{Binding target_name}" />
<TextBlock FontSize="15" Text="{Binding type_name}" Opacity="30" Margin="0, 0, 0 ,30"/>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
在后面的代码中,我试图从第一个 TextBlock 元素中获取文本值作为字符串。
string targetName;
targetName = resultsList.SelectedItem.ToString();
我希望该变量 "targetName" 能够从 ListView 项中的第一个 TextBlock 分配文本值 ( Text="{Binding target_name}" )。
如果有人能帮助我,我将不胜感激。
resultsList.SelectedItem 应该是集合中绑定到 ListView 的对象。因此,您可以将其转换为适当的类型,然后访问 target_name 成员
物品来源应为collection。您需要对 collection 进行类型转换以获取值。
class listData
{
public string target_name { get; set; }
public string type_name{ get; set; }
}
您可以获得这样的值
listData ld= (listData)resultsList.SelectedItem;
string targetName =ld.target_name;
我有一个 ListView 控件 项目由两个 TextBlock 组成,如下所示:
<ListView x:Name="resultsList" ItemsSource="{Binding}" HorizontalAlignment="Left" Height="470" Margin="10,0,0,0" VerticalAlignment="Top" Width="342" FontSize="21.333" BorderThickness="0" ItemClick="RedirectPage" IsItemClickEnabled="True" SelectionMode="None">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Margin="0,-4,0,-4">
<StackPanel.Resources>
<Style TargetType="TextBlock">
<Setter Property="Margin" Value="0,0,0,0" />
</Style>
</StackPanel.Resources>
<TextBlock FontSize="35" Text="{Binding target_name}" />
<TextBlock FontSize="15" Text="{Binding type_name}" Opacity="30" Margin="0, 0, 0 ,30"/>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
在后面的代码中,我试图从第一个 TextBlock 元素中获取文本值作为字符串。
string targetName;
targetName = resultsList.SelectedItem.ToString();
我希望该变量 "targetName" 能够从 ListView 项中的第一个 TextBlock 分配文本值 ( Text="{Binding target_name}" )。
如果有人能帮助我,我将不胜感激。
resultsList.SelectedItem 应该是集合中绑定到 ListView 的对象。因此,您可以将其转换为适当的类型,然后访问 target_name 成员
物品来源应为collection。您需要对 collection 进行类型转换以获取值。
class listData
{
public string target_name { get; set; }
public string type_name{ get; set; }
}
您可以获得这样的值
listData ld= (listData)resultsList.SelectedItem;
string targetName =ld.target_name;