2012-01-22 2 views
-1

У меня есть ListView в моем приложении WPF. my ListViewItem - это просто образы. но я хочу получить выбранное значение этого ListView. В ASP.Net я могу установить пару «Текст/значение» для списка, а выбранным значением было значение, которое я установил.ListView SelectedValue в WPF

как я могу достичь этого в wpf?

Вот мой Xaml:

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

     </ListViewItem> 

Любая идея?

ответ

1

Используйте управления ListView ItemsSource и привязать его к коллекции объектов, содержащих свой путь к изображению и ваше поле Id

<ListView ItemsSource="{Binding MyCollection}" 
      SelectedValuePath="Id" 
      SelectedValue="{Binding SelectedId}"> 

    <ListView.ItemTemplate> 
     <DataTemplate> 
      <Image Source="{Binding ImagePath}" /> 
     </DataTemplate> 
    </ListView.ItemTemplate> 
</ListView> 

В DataContext вашего ListView ты бы

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"> 
0

Ваши ListView пункты должны быть в связывании с коллекцией в DataContext. Для этого вы можете использовать свойство ItemsSource. Свойство Anoher, называемое SelectedItem, может использоваться для привязки выбранного элемента в ListView к другому свойству в DataContext.

Смежные вопросы