簡體   English   中英

不使用轉換器的條件綁定

[英]Conditional Binding Without using Converter

如何實現以下目標:

    <ComboBox 
 IsEnabled="{Binding bVisibilty = AnotherCollection.Count > 0 ? true:false}"/>

我可以使用將count轉換為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。

您可以在ViewModel上綁定到Property並將布爾值和INPC邏輯放入viewModel中

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM