我是WPF的新宠。我有这个问题与组合框。
当Combobox第一次渲染并且无法显示时,组合框的边框必须设置为红色,但遗憾的是它没有显示。
请找到代码段
<Style x:Key="requiredFieldValidationStyleComboBox">
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=SelectedItem.Content}" Value="{x:Null}">
<Setter Property="ComboBox.BorderBrush" Value="{StaticResource FaultyBorderBrush}" />
<Setter Property="ComboBox.ToolTip" Value="Input value is mandatory" />
</DataTrigger>
</Style.Triggers>
</Style>
答案 0 :(得分:0)
我不知道你绑定到selectedItem的对象是什么。 但我有一种感觉,你会问,SelectedItem本身是否等于null, 然后代码应如下所示:
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=SelectedItem}" Value="{x:Null}">
<Setter Property="ComboBox.BorderBrush" Value="{StaticResource FaultyBorderBrush}" />
<Setter Property="ComboBox.ToolTip" Value="Input value is mandatory" />
</DataTrigger>
“内容”是不必要的。
这是你想要的吗?
答案 1 :(得分:0)
一旦我将它添加到组合框中,我发现你的风格完美地工作,确保组合框实际上具有它的样式属性设置,或者如果你希望它应用于所有组合框,则删除x:Key属性。
<Window.Resources>
<Style x:Key="requiredFieldValidationStyleComboBox">
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=SelectedItem.Content}" Value="{x:Null}">
<Setter Property="ComboBox.BorderBrush" Value="Red" />
<Setter Property="ComboBox.ToolTip" Value="Input value is mandatory" />
</DataTrigger>
</Style.Triggers>
</Style>
</Window.Resources>
<Grid Margin="0,0,401,279">
<ComboBox Style="{StaticResource requiredFieldValidationStyleComboBox}" Margin="46,66,-46,-66"/>
</Grid>