2012-06-11 27 views
2

我想將一些SystemColor前景分配給WPF上的XAML上的TextBlock。主要想法是讓應用程序更易於訪問,即使用高對比度也能很好地看到應用程序。將SystemColor前景分配給WPF的XAML上的TextBlock

我嘗試下面的代碼,但它並沒有顯示的顏色有任何影響:

<StackPanel Orientation="Horizontal"       
     Background="{DynamicResource {x:Static SystemColors.HotTrackBrush}}"> 
     <TextBlock Text="my app" 
        HorizontalAlignment="Left"            
        Style="{StaticResource MainPageText}" 
        VerticalAlignment="Center" 
        TextWrapping="Wrap" 
        x:Name="Title"/> 
    </StackPanel> 

我在此很新,所以你可以告訴我你的想法是問題?

在此先感謝。

回答

6

要接收動態更改通知,您需要使用HotTrackBrushKey

<StackPanel Orientation="Horizontal"       
      Background="{DynamicResource {x:Static SystemColors.HotTrackBrushKey}}"> 

如果沒有動態變化的通知

<StackPanel Orientation="Horizontal" 
      Background="{x:Static SystemColors.HotTrackBrush}"> 

對於參考請參見:SystemColors Reference

+0

所以,如果我理解正確使用動態_SystemColors_我必須使用** ** xxxKey屬性(其回報_ResourceKey_),對嗎? – anton

+0

並且僅適用於_Background_還是_Foreground_? – anton

+1

是的,這是正確的。它適用於所有畫筆,如'Background','Foreground','BorderBrush'等。 –