次の方法で共有


方法: システム ブラシを使用して領域を塗りつぶす

SystemColors クラスは、ControlBrushControlBrushKeyDesktopBrushなどのシステム ブラシと色へのアクセスを提供します。 システム ブラシは、指定したシステムカラーで領域を塗りつぶす SolidColorBrush オブジェクトです。 システム ブラシは常に単色の塗りつぶしを生成し、グラデーションの作成には使用できません。

システム ブラシは、静的リソースまたは動的リソースとして使用できます。 アプリケーションの実行中にユーザーがシステム ブラシを変更した場合にブラシを自動的に更新する場合は、動的リソースを使用します。それ以外の場合は、静的リソースを使用します。 SystemColors クラスには、厳密な名前付け規則に従うさまざまな静的プロパティが含まれています。

  • *<SystemColor>*Brush

    指定したシステムカラーの SolidColorBrush への静的参照を取得します。

  • *<システムカラー>*ブラシキー

    指定したシステムカラーの SolidColorBrush への動的参照を取得します。

  • *<システムカラー>*カラー

    指定したシステムカラーの Color 構造体への静的参照を取得します。

  • *<SystemColor>*ColorKey

    指定したシステムカラーの Color 構造への動的参照を取得します。

システム カラーは、ブラシの構成に使用できる Color 構造です。 たとえば、LinearGradientBrush オブジェクトのグラデーション分岐点の Color プロパティをシステム カラーで設定することで、システム カラーを使用してグラデーションを作成できます。 例については、「グラデーションでシステム カラーを使用する 」を参照してください。

次の例では、動的システム ブラシ参照を使用して、ボタンの背景を設定します。

<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
  xmlns:x="http://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="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
  xmlns:x="http://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>

グラデーションでシステムカラーを使用する方法を示す例については、「グラデーションでシステムカラーを使用する を参照してください。

関連項目