我想启用按钮,直到所有字段都填满,我这样做但我不知道如何使用复选框。我需要至少检查其中一个,并且必须从xaml而不是代码后面完成。 如果有人可以提供帮助,我会很感激。
这是我的xaml代码:
<Button.Style>
<Style TargetType="{x:Type Button}">
<Style.Triggers>
<DataTrigger Binding="{Binding Text.Length, ElementName=firstname, UpdateSourceTrigger=PropertyChanged}" Value="0">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
<DataTrigger Binding="{Binding Text.Length, ElementName=lastname, UpdateSourceTrigger=PropertyChanged}" Value="0">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
<DataTrigger Binding="{Binding Text.Length, ElementName=username, UpdateSourceTrigger=PropertyChanged}" Value="0">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
<DataTrigger Binding="{Binding Text.Length, ElementName=password, UpdateSourceTrigger=PropertyChanged}" Value="0">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
<DataTrigger Binding="{Binding IsChecked, ElementName=scientist}" Value="false">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
<DataTrigger Binding="{Binding IsChecked, ElementName=writer}" Value="false">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
<DataTrigger Binding="{Binding IsChecked, ElementName=programmer}" Value="false">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
编辑:这将仅在选中所有复选框时启用按钮,但是当我们至少选中其中一个复选框时,我需要启用它。
答案 0 :(得分:0)
你需要一个MultiDataTrigger ......
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding IsChecked, ElementName=scientist}" Value="false"/>
<Condition Binding="{Binding IsChecked, ElementName=writer}" Value="false"/>
<Condition Binding="{Binding IsChecked, ElementName=programmer}" Value="false"/>
</MultiDataTrigger.Conditions>
<Setter Property="IsEnabled" Value="False"/>
</MultiDataTrigger>