我的WPF应用程序中有一个ListView。我的ListViewItem只是图像。但我想得到这个ListView的选定值。在ASP.Net中,我可以为listitem设置一个Text / Value对,selectedvalue是我设置的值。
我怎样才能在wpf中实现这个目标?
这是我的Xaml:
<ListView Name="lstStyle" MouseDoubleClick="lstStyle_MouseDoubleClick" KeyDown="lstStyle_KeyDown">
<ListViewItem>
<Image Source="/WPFSample;component/Images/Home1.png"></Image>
</ListViewItem>
任何想法?
答案 0 :(得分:1)
使用ListView的ItemsSource
并将其绑定到包含图像路径和Id字段的对象集合
<ListView ItemsSource="{Binding MyCollection}"
SelectedValuePath="Id"
SelectedValue="{Binding SelectedId}">
<ListView.ItemTemplate>
<DataTemplate>
<Image Source="{Binding ImagePath}" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
在ListView的DataContext中,您将拥有
public ObservableCollection<MyItem> MyCollection;
public int SelectedId;
其中MyItem
只是一个看起来像这样的类:
public class MyItem
{
public int Id { get; set; }
public string ImagePath { get; set; }
}
或者作为替代方案,如果您对优秀设计不感兴趣,只需使用Tag
ListViewItem
属性即可
<ListViewItem Tag="1">
答案 1 :(得分:0)
您的ListView项目应与DataContext中的集合绑定。为此,您可以使用ItemsSource属性。名为SelectedItem的Anoher属性可用于将ListView中的选定项绑定到DataContext中的另一个属性。