1
这里内边框背景是在我的应用程序资源的XAML,全球改变了所有的Button控件的应用程序的外观和行为像我想:更改支持算法FMP的ControlTemplate
<Style TargetType="{x:Type Button}" x:Key="MyButtonStyle">
<Setter Property="SnapsToDevicePixels" Value="true"/>
<Setter Property="OverridesDefaultStyle" Value="true"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Border x:Name="Border" CornerRadius="0" BorderThickness="0"
Background="CornflowerBlue" BorderBrush="CornflowerBlue">
<ContentPresenter Margin="2" HorizontalAlignment="Center" VerticalAlignment="Center" RecognizesAccessKey="True" />
</Border>
<ControlTemplate.Triggers>
<!-- a bunch o' triggers here -->
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
在我的应用程序的一个用户控件,我想改变这个按钮的一些属性。下面是一些XAML,我使用的UserControl.Resources部分现在要做到这一点:
<Style x:Key="SpecialButton" TargetType="Button" BasedOn="{StaticResource MyButtonStyle}">
<Setter Property="Width" Value="20" />
<Setter Property="Visibility" Value="Collapsed" />
<Setter Property="Content" Value=">" />
<Setter Property="Border" Value="#eeeeee" />
<Setter Property="Border.Background" Value="#eeeeee" />
</Style>
,我的风格分配给SpecialButton有正确的宽度,可见性和内容上我的用户控制按钮,但最后两次尝试不起作用。我将如何去改变这个SpecialButton风格中来自应用程序资源名称为“Border”的Border的背景颜色?
感谢您的回答,它不完全正确,但它导致我走向正确的道路。我原来的问题在第一个XAML代码片段中的Style元素上有一个'x:Key',这不在我的应用程序的XAML中。因此,我不得不在我的第二个XAML代码片段中使用'BasedOn =“{StaticResource {x:Type Button}}”'来让它尊重对原始样式的更改。 –