方法 : システム ブラシで領域を塗りつぶす
更新 : 2007 年 11 月
SystemColors クラスを使用すると、ControlBrush、ControlBrushKey、DesktopBrush などのシステム ブラシやシステム カラーにアクセスできます。システム ブラシは、指定したシステム カラーで領域を塗りつぶす SolidColorBrush オブジェクトです。システム ブラシは、常に純色の塗りつぶしを生成します。グラデーションを作成するためには使用できません。
システム ブラシは、静的なリソースとしても、動的なリソースとしても使用できます。アプリケーションの実行中にユーザーがシステム ブラシを変更したときにブラシを自動的に更新する場合は、動的リソースを使用します。それ以外の場合は、静的リソースを使用します。SystemColors クラスには、厳密な名前付け規則に従うさまざまな静的プロパティが含まれます。
*<SystemColor>*Brush
指定したシステム カラーの SolidColorBrush に対する静的参照を取得します。
*<SystemColor>*BrushKey
指定したシステム カラーの SolidColorBrush に対する動的参照を取得します。
*<SystemColor>*Color
指定したシステム カラーの Color 構造体に対する静的参照を取得します。
*<SystemColor>*ColorKey
指定したシステム カラーの Color 構造体に対する動的参照を取得します。
システム カラーは Color 構造体であり、ブラシの構成に使用できます。たとえば、LinearGradientBrush オブジェクトのグラデーション終了位置の Color プロパティにシステム カラーを設定することで、システム カラーを使用してグラデーションを作成できます。例については、「方法 : グラデーションでシステム カラーを使用する」を参照してください。
使用例
次の例では、動的システム ブラシ参照を使用して、ボタンの背景を設定しています。
<Page xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
WindowTitle="SystemColors Example" Background="White">
<StackPanel Margin="20">
<!-- Uses a dynamic resource to set the
background of a button.
If the desktop brush changes while this application
is running, this button will be updated. -->
<Button
Background="{DynamicResource {x:Static SystemColors.DesktopBrushKey}}"
Content="Hello, World!" />
</StackPanel>
</Page>
次の例では、静的システム ブラシ参照を使用して、ボタンの背景を設定しています。
<Page xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
WindowTitle="SystemColors Example" Background="White">
<StackPanel Margin="20">
<!-- Uses a static brush to set the
background of a button.
If the desktop brush changes while this application
is running, this button will not be updated until
the page is loaded again. -->
<Button
Background="{x:Static SystemColors.DesktopBrush}"
Content="Hello, World!" />
</StackPanel>
</Page>
グラデーションでのシステム カラーの使用方法を示す例については、「方法 : グラデーションでシステム カラーを使用する」を参照してください。