我有一个UI对话框,其中几个RadioButton启用或禁用此对话框中的其他UI块。
其中有些直接依赖于一个RadioButton,而其他一些我有问题的依赖于检查了几个RadioButton( AND操作),而后来则取决于只检查了一个RadioButton(或操作)。
对于 AND 操作,我遵循了一些运气不太好的解决方案,这里是XAML:
<UserControl.Resources>
<Style TargetType="{x:Type dxe:TextEdit}" x:Key="RbAndStyleTextEdit">
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding Source=CustomRb, Path=IsChecked}" Value="True" />
<Condition Binding="{Binding Source=NoCustomRb, Path=IsChecked}" Value="True" />
</MultiDataTrigger.Conditions>
<Setter Property="IsEnabled" Value="True" />
</MultiDataTrigger>
</Style.Triggers>
</Style>
<Style TargetType="{x:Type Label}" x:Key="RbAndStyleTextLabel">
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding Source=CustomRb, Path=IsChecked}" Value="True" />
<Condition Binding="{Binding Source=NoCustomRb, Path=IsChecked}" Value="True" />
</MultiDataTrigger.Conditions>
<Setter Property="IsEnabled" Value="True" />
</MultiDataTrigger>
</Style.Triggers>
</Style>
</UserControl.Resources>
在元素上,我使用这种样式:
Style="{StaticResource RbAndStyleTextEdit}"
Style="{StaticResource RbAndStyleLabel}"
他们都没有为我工作。当然,我跳过了一些XAML / WPF基础知识,所以我决定在这里寻求帮助以查找错误...以及如何进行OR操作。
如您所见,为简单起见,我完全避免使用任何Converter。我看到这种压倒性的组合只是两个布尔来启用或禁用UI的一部分...确保许多开发人员处于与我完全相同的情况。