如何绑定我的ObservableCollection两种方式的ListView扩展WinRT Xaml工具包
本文关键字:ListView 方式 扩展 WinRT 工具包 Xaml 两种 ObservableCollection 何绑定 绑定 我的 | 更新日期: 2023-09-27 18:19:00
我有一个带有ListView的Windows 8.1应用程序,我正在使用来自WinRt Xaml工具包的ListViewExtensions(从Nuget获得最新版本)来绑定BindableSelection
这是我的XAML <ListView
ItemsSource="{Binding AllItems}"
SelectionMode="Multiple"
ext:ListViewExtensions.BindableSelection="{Binding SelectedItems, Mode=TwoWay}">
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
在我的ViewModel我有以下ObservableCollection,我已经绑定了我的xaml
private ObservableCollection<string> _SelectedItems;
public ObservableCollection<string> SelectedItems
{
get { return _SelectedItems; }
set
{
if (value != _SelectedItems)
{
_SelectedItems = value;
NotifyPropertyChanged("SelectedItems");
}
}
}
我在ObservableCollection的get和set上设置了断点。get会在我的View加载时被调用,但是set永远不会被调用,即使我选择了ListView的多个项目。
我做错了什么吗?
如果有人能给我指出正确的方向,我会很高兴的。意识到我的错误。我从来没有为ObservableCollections SelectedItems创建过对象。
应该在某个时候为ObservableCollection创建对象,否则XAML将绑定到一个空对象引用,显然无法更新。
下面是实例化ObservableCollection的方法。
SelectedItems = new ObservableCollection<MyItems>();
然而,我仍然无法击中ObservableCollection的set函数的断点。我相信这是Observable的默认行为。如果有人能评论一下,我会很高兴的。
然而,这个特殊问题的问题已经解决了。由于