のプロパティにListView
のSelectedItem
をバインドします。明確にするために、ここに例があります。
ここに私の見解は
<Grid x:Name="LayoutRoot" Background="White">
<ListView ItemsSource="{Binding Contacts}" SelectedItem="{Binding SelectedContact, Mode=TwoWay}">
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</Grid>
そして、ここではあなたがSelectedContactのセッターに足を踏み入れるますリストボックスで選択を変更してみてください、私のViewModel
public class MainViewModel: ViewModelBase
{
ObservableCollection<ContactViewModel> contacts;
ContactViewModel selectedContact;
public ContactViewModel SelectedContact
{
get { return selectedContact; }
set {
selectedContact = value;
base.OnPropertyChanged("SelectedContact");
}
}
public ObservableCollection<ContactViewModel> Contacts
{
get { return contacts; }
set {
contacts = value;
base.OnPropertyChanged("Contacts");
}
}
}
毎回だのです。
set
{
contacts = value;
base.OnPropertyChanged("Contacts");
}
これにより、選択した連絡先が変更されたことがわかります。
プロパティSelectedContactを使用すると、コレクション内のどのアイテムが選択されているかが分かります。
複数の選択を実装する場合は、ViewModelのCollectionプロパティをListViewのSelectedItems属性にバインドすることもできます。