我已将所有TextBoxes和ComboBoxes设置为默认填充为“ 1,3”。当ComboxBox是可编辑的时,填充看起来与TextBoxes相同。但是,当IsEditable
默认为false时,填充看起来并不相同。
在App.xaml中,我已经拥有:
<Application.Resources>
<Style TargetType="TextBox">
<Setter Property="Padding" Value="1,3"/>
</Style>
<Style TargetType="ComboBox">
<Setter Property="Padding" Value="1,3"/>
</Style>
</Application.Resources>
在App.xaml中,如何将所有具有IsEditable="False"
属性的ComboBox设置为具有Padding="6,3,5,3"
?
答案 0 :(得分:1)
您可以使用触发器根据ComboBox的属性(在您的情况下为IsEditable
)来更改填充。为此,请像这样设置ComboBox
的样式:
<Style TargetType="{x:Type ComboBox}">
<Setter Property="Padding" Value="1,3"/>
<Style.Triggers>
<Trigger Property="IsEditable" Value="False">
<Setter Property="Padding" Value="6,3,5,3"/>
</Trigger>
</Style.Triggers>
</Style>
答案 1 :(得分:0)
这是在所有适用的ComboBox上使用键控样式的绝好机会:
<Style TargetType="ComboBox" x:Key="EditableComboBoxStyle">
<Setter Property="IsEditable" Value="False"/>
<Setter Property="Padding" Value="6,3,5,3"/>
</Style>
在您的App.xaml
中将其添加为键控资源,并像这样应用它:
<ComboBox Style={StaticResource EditableComboBoxStyle}"/>
这将覆盖您将其应用于任何ComboBox的默认样式。