我正在使用Mahapps作为GUI,但是我想设置一些与margins
和verticalAlignment
等视觉属性不同的属性,所以我将其添加到UserControl.resources
部分< / p>
<Style x:Key="{x:Type TextBox}" TargetType="TextBox" BasedOn="{StaticResource ResourceKey={x:Type TextBox}}">
<Setter Property="Margin" Value="2"/>
<Setter Property="VerticalAlignment" Value="Center"/>
</Style>
但是它会覆盖TextBoxes的所有视觉样式属性,如何在不覆盖所有视觉样式设置的情况下添加这些属性?
答案 0 :(得分:1)
给风格一个关键
<Style x:Key="myCustomTextBoxStyle"
TargetType="TextBox"
BasedOn="{StaticResource ResourceKey={x:Type TextBox}}">
<Setter Property="Margin" Value="2"/>
<Setter Property="VerticalAlignment" Value="Center"/>
</Style>
并在需要的地方使用
<TextBox Style={StaticResource myCustomTextBoxStyle} />
修改强> 或者将其放在用户控件或窗口资源的主资源字典中,而不用键
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
</ResourceDictionary.MergedDictionaries>
<Style TargetType="TextBox"
BasedOn="{StaticResource ResourceKey={x:Type TextBox}}">
<Setter Property="Margin" Value="2"/>
<Setter Property="VerticalAlignment" Value="Center"/>
</Style>
</ResourceDictionary>
</Window.Resources>
希望有所帮助