如何實現以下目標:條件綁定不使用轉換器
<ComboBox
IsEnabled="{Binding bVisibilty = AnotherCollection.Count > 0 ? true:false}"/>
我可以使用一個轉換器,它會被轉換計數boolen,但有比無處不矯枉過正轉換器做的更好的方法。
如何實現以下目標:條件綁定不使用轉換器
<ComboBox
IsEnabled="{Binding bVisibilty = AnotherCollection.Count > 0 ? true:false}"/>
我可以使用一個轉換器,它會被轉換計數boolen,但有比無處不矯枉過正轉換器做的更好的方法。
您可以使用樣式觸發器,像這樣:
<ComboBox >
<ComboBox.Style>
<Style TargetType="ComboBox">
<Style.Triggers>
<DataTrigger Binding="{Binding AnotherCollection.Count}" Value="0">
<Setter Property="Visibility" Value="Collapsed"/>
</DataTrigger>
</Style.Triggers>
</Style>
</ComboBox.Style>
</ComboBox>
顯然AnotherCollection需要有一個ObservableCollection這樣的UI將被通知每次項目被添加\刪除它
只要實現了'INotifyPropertyChanged',就不必是'ObservableCollection'。 –
你可以綁定到您的視圖模型屬性,並把布爾和INPC邏輯視圖模型
看起來不錯。一個轉換器,它接收一個Collection,並從mvvm中的Count屬性 –
返回一個布爾值,把這個給虛擬機並且有一個bool來查看可見性 – Viv
爲什麼downVote? – Simsons