我正在使用MVVM Light开发Xamarin(Android,iOS,WP 8.1 RT)应用程序。我的ViewModel有2个ObservableCollections
,所以我在WP上的 View 也包含2个ListViews
。
假设OC1绑定(bind)到LV1,而OC2绑定(bind)到LV2。
第一个OC永远不会为空。
第二个OC几乎总是空的。
我想做以下事情:
OC2为空时的
LV1并显示LV2
我尝试使用一个转换器将两个
Visibility
的ListViews
属性绑定(bind)到OC2,该转换器根据给定集合中的项数返回Visibility.Collapsed
或Visibility.Visible
。最初可以使用,但是从OC2添加或删除项目时可见性不会更新。仅在使用OC2的 setter 时才有效(仅在初始化时)。
这个问题不是this one的重复,因为我希望只使用XAML绑定(bind)或对
ViewModel
进行小的修改,并尽可能减少代码隐藏。 最佳答案
感谢@ 3615,它已解决问题!
在ViewModel
中:OC2.CollectionChanged += (sender, args) => RaisePropertyChanged(() => OC2);
关于c# - 使用ObservableCollection更新对CollectionChanged的XAML绑定(bind),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35548381/