ListView SelectedValue в WPF - PullRequest
       0

ListView SelectedValue в WPF

0 голосов
/ 22 января 2012

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

как мне добиться этого в wpf?

Вот мой Xaml:

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

        </ListViewItem>

Есть идеи?

Ответы [ 2 ]

1 голос
/ 22 января 2012

Используйте 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 голосов
/ 22 января 2012

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...