ここに、理解できない小さなWPFの問題があります。
ResourceDictionary
いくつかの色、ブラシ、ControlTemplate
エントリを含むように設定しようとしています。
私の問題はLabel
、同じファイル内のリソースにaの前景ブラシを設定しようとしていて、そのビットが機能せず、それに関するトレースメッセージがないことです。
<Color x:Shared="false" x:Key="DefaultForegroundColor" A="255" R="0" G="0" B="0" />
<!--<Color x:Shared="false" x:Key="DefaultForegroundColor" A="255" R="255" G="0" B="0" />-->
<SolidColorBrush x:Shared="false" x:Key="DefaultForegroundBrush" Color="{DynamicResource DefaultForegroundColor}"/>
<Color x:Shared="false" x:Key="HeadingColor" A="255" R="17" G="158" B="218" />
<SolidColorBrush x:Shared="false" x:Key="HeadingBrush" Color="{DynamicResource HeadingColor}"/>
<Style TargetType="{x:Type Label}" x:Key="SectionHeadingStyle">
<Setter Property="FontSize" Value="18"/>
<Setter Property="Foreground" Value="{DynamicResource HeadingBrush}"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Label">
<Border BorderThickness="0,0,0,2" BorderBrush="{DynamicResource DefaultForegroundBrush}" HorizontalAlignment="Left">
<ContentPresenter Margin="5"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
境界線の色は(黒でなくても)正常に機能しますが、ラベルの前景は水色ではなく黒のままです。私が間違っていることについて何か考えはありますか?
ありがとう。
UPDATE デザイナーにも似合うと言うのを忘れました。
UPDATE 2
ビジュアルツリーをスヌーピングすると、がヘッダーテキストを表示するまでForeground
、色がテンプレートをほとんど通過するように見えます。上記のContentPresenterがに設定された青の素敵な色合いを持っている間、残りは黒のままです。作成した前景色を与えるためにテンプレートで他にできることはありますか?ContentPresenter
TextBlock
TextBlock
TextElement.Foreground
TextBlock