在WPF中ListView SelectedValue

时间:2012-01-22 19:48:10

标签: wpf image listview

我的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>

任何想法?

2 个答案:

答案 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中的另一个属性。