2012-01-22 71 views
-1

我在我的WPF應用程序中有一個ListView。我的ListViewItem只是圖像。但我想獲得這個ListView的選定值。在ASP.Net中,我可以爲一個listitem設置一個Text/Value對,而selectedvalue是我設置的值。WPF中的ListView SelectedValue

我該如何在wpf中實現這一點?

這是我的XAML:

<ListView Name="lstStyle" MouseDoubleClick="lstStyle_MouseDoubleClick" KeyDown="lstStyle_KeyDown"> 
     <ListViewItem> 
      <Image Source="/WPFSample;component/Images/Home1.png"></Image> 

     </ListViewItem> 

任何想法?

回答

1

使用ListView的ItemsSource並將其綁定到包含圖像路徑對象的集合和身份證場

<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; } 
} 

或者作爲一種替代,如果你不感興趣,優秀的設計,只需使用ListViewItem

<ListViewItem Tag="1"> 
0

你的ListView項目Tag屬性應該是在與DataContext的集合結合。要做到這一點,你可以使用屬性ItemsSource。 Anoher屬性,名爲SelectedItem,可用於將ListView中的選定項綁定到DataContext中的另一個屬性。