アプリケーション リソース内の XAML を次に示します。この XAML は、アプリケーション内のすべての Button コントロールを、希望どおりの外観と動作になるようにグローバルに変更します。
<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>
アプリケーションのユーザー コントロールの 1 つで、このボタンのいくつかのプロパティを変更したいと考えています。これを行うために UserControl.Resources セクションで使用している XAML を次に示します。
<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 のスタイルを割り当てた UserControl の Button コントロールは、正しい幅、可視性、およびコンテンツを持っていますが、これらの最後の 2 つの試行は機能しません。この SpecialButton スタイルのアプリケーション リソースから「Border」という名前の Border の背景色を変更するにはどうすればよいですか?