简体   繁体   中英

Conditional Binding Without using Converter

How do I achieve the following:

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

I can use a converter which will be converting count to boolen, but is there a better way of doing than overdoing converter everywhere.

You can use style triggers for that like so :

  <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>

Obviously AnotherCollection needs to be an ObservableCollection so the UI will be notified every time item is being added\\removed to it

您可以在ViewModel上绑定到Property并将布尔值和INPC逻辑放入viewModel中

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM