WPF组合框如何在启用且另一个字段具有值时将边框变为红色>;0?
如果应用了多个条件,如何将BorderBrush设置为红色 此组合框仅在用户输入的计数大于0时启用,并且在写入数据之前需要进行选择(我不需要默认值)。我已经签入了提示用户选择CountSource的代码。我想要的是有某种多转换器或触发器,或者可以将组合框变成红色,作为用户进行选择的视觉提示。只有当用户在上一个字段(SelectedClientDefaultCount)中输入了大于零的值且尚未选择任何计数源(SelectedClientCountSource=null)时,此转换器/触发器/其他才需要将其变为红色 我试过:WPF组合框如何在启用且另一个字段具有值时将边框变为红色>;0?,wpf,combobox,triggers,converter,Wpf,Combobox,Triggers,Converter,如果应用了多个条件,如何将BorderBrush设置为红色 此组合框仅在用户输入的计数大于0时启用,并且在写入数据之前需要进行选择(我不需要默认值)。我已经签入了提示用户选择CountSource的代码。我想要的是有某种多转换器或触发器,或者可以将组合框变成红色,作为用户进行选择的视觉提示。只有当用户在上一个字段(SelectedClientDefaultCount)中输入了大于零的值且尚未选择任何计数源(SelectedClientCountSource=null)时,此转换器/触发器/其他才
<ComboBox Grid.Row="1" Grid.Column="1"
ItemsSource="{Binding ActiveCountSources}" DisplayMemberPath="CountSourceDescription"
SelectedItem="{Binding SelectedClientCountSource}"
IsEnabled="{Binding SelectedClientDefaultCount, Converter={StaticResource DefaultCountEnabledConverter}}">
<ComboBox.Style>
<Style>
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding IsEnabled}" Value="True" />
</MultiDataTrigger.Conditions>
<MultiDataTrigger.Setters>
<Setter Property="BorderBrush" Value="Red" />
</MultiDataTrigger.Setters>
</MultiDataTrigger>
</Style.Triggers>
</Style>
</ComboBox.Style>
</ComboBox>
但它说无法找到或访问BorderBrush。我也不知道如何设置第二个条件来检查SelectedClientDefaultCount是否不为null或大于零
如果可能的话,我不想将其置于组合框xaml之外的样式中。尝试将样式TargetType设置为“{x:Type combobox}”
- 设置组合框样式的
TargetType
- 将IsEnabled绑定的
设置为相对资源
Self
- 在返回布尔值的
和SelectedClientCountSource
绑定中使用绑定转换器SelectedClientDefaultCount
非常感谢!我只需要两个条件,但这向我展示了正确的格式来完成它!
<ComboBox.Style>
<Style TargetType="ComboBox">
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding IsEnabled,
RelativeSource={RelativeSource Self}}" Value="True"/>
<Condition Binding="{Binding SelectedClientCountSource,
Converter={StaticResource CountSourceConverter}}"
Value="True"/>
<Condition Binding="{Binding SelectedClientDefaultCount,
Converter={StaticResource DefaultCountEnabledConverter}}"
Value="True"/>
</MultiDataTrigger.Conditions>
<MultiDataTrigger.Setters>
<Setter Property="BorderBrush" Value="Red" />
</MultiDataTrigger.Setters>
</MultiDataTrigger>
</Style.Triggers>
</Style>
</ComboBox.Style>