2016-02-22 33 views
1

我正在使用MVVM Light開發Xamarin(Android,iOS,WP 8.1 RT)應用程序。我的ViewModel有2 ObservableCollections,所以我對WP的看法也包含2 ListViews使用ObservableCollection更新CollectionChanged上的XAML綁定

比方說,OC1綁定到LV1和OC2綁定到LV2。

第一個OC從不是空的。 第二個OC幾乎總是空的。

我想做到以下幾點:

  • 時OC2爲空:顯示LV1和LV2隱藏
  • 時OC2不爲空:隱藏 LV1和LV2顯示

我嘗試使用轉換器將ListViewsVisibility屬性綁定到OC2,該轉換器返回Visibility.CollapsedVisibility.Visible,具體取決於給定集合中的項目數量。

最初可以使用,但當從OC2添加或刪除項目時,可見性不會更新。它僅在使用OC2的setter時才起作用(僅在初始化時)。

這個問題不是this one的重複,因爲我希望只使用XAML綁定或對ViewModel進行小修改,儘可能減少代碼隱藏。

+0

您是否嘗試訂閱您OC2的CollectionChanged事件,並從那裏調用OnPropertyChanged(nameof(OC2))? – 3615

回答

1

謝謝@ 3615,修好了!

ViewModel

OC2.CollectionChanged += (sender, args) => RaisePropertyChanged(() => OC2);

相關問題