我使用BooleanToVisibilityConverter
进行显示,或根据选中的单选按钮隐藏TimePicker
:
<BooleanToVisibilityConverter x:Key="b2v" />
<RadioButton Content="Enable" IsChecked="True" Name="ExportByHour"/>
<RadioButton Content="Hide" />
<materialDesign:TimePicker
IsEnabled="{Binding IsChecked, ElementName=ExportByHour, Converter={StaticResource b2v}}"
IsInvalidTextAllowed="False"
Is24Hours="True"/>
不幸的是我只在Visibility
属性上工作,为什么?
答案 0 :(得分:3)
您误解了BoolToVisibility转换器的用途。它只能与Visibility属性一起使用。
Visibility属性有三种状态:Visible,Collapsed和Hidden。
一个常见的用例是将控件的Visibility属性绑定到视图模型中的boolean属性,以便将true和false转换为visible和collapsed。这是您使用BoolToVisibility转换器的地方。
在其他属性上使用此转换器是没有意义的。 IsEnabled是一个布尔属性,可以直接绑定到视图模型中的布尔属性,而无需使用转换器。