다음을 통해 공유


방법: 그라데이션에 시스템 색 사용

그라데이션에 시스템 색을 사용하려면 SystemColors 클래스의 *<SystemColor>*Color 및 *<SystemColor>*ColorKey 정적 속성을 사용하여 색에 대한 참조를 가져옵니다. 여기서 <SystemColor>는 원하는 시스템 색의 이름입니다. 시스템 테마가 변경될 때 자동으로 업데이트되는 동적 참조를 만들려면 *<SystemColor>*ColorKey 속성을 사용합니다. 그렇지 않으면 *<SystemColor>*Color 속성을 사용합니다.

예제

다음 예제에서는 동적 시스템 색 리소스를 사용하여 그라데이션을 만듭니다.

<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  WindowTitle="Dynamic System Colors Example" Background="White">  
  <StackPanel Margin="20">
 
    <!-- Uses dynamic references to system colors to set
         the colors of gradient stops. 
         If these system colors change while this application
         is running, the gradient will be updated
         automatically.  -->
    <Button Content="Hello, World!">
      <Button.Background>
        <LinearGradientBrush>
          <LinearGradientBrush.GradientStops>
            <GradientStop Offset="0.0" 
              Color="{DynamicResource {x:Static SystemColors.DesktopColorKey}}" />
            <GradientStop Offset="1.0" 
              Color="{DynamicResource {x:Static SystemColors.ControlLightLightColorKey}}" />
          </LinearGradientBrush.GradientStops>
        </LinearGradientBrush>
      </Button.Background>
    </Button>

  </StackPanel>
</Page>

그 다음 예제에서는 정적 시스템 색 리소스를 사용하여 그라데이션을 만듭니다.

<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  WindowTitle="Static System Colors Example" Background="White">  
  <StackPanel Margin="20">
 
    <!-- Uses static references to system colors to set
         the colors of gradient stops. 
         If these system colors change while this application
         is running, this button will not be updated until
         the page is loaded again. -->
    <Button Content="Hello, World!">
      <Button.Background>
        <LinearGradientBrush>
          <LinearGradientBrush.GradientStops>
            <GradientStop Offset="0.0" 
              Color="{x:Static SystemColors.DesktopColor}" />
            <GradientStop Offset="1.0" 
              Color="{x:Static SystemColors.ControlLightLightColor}" />
          </LinearGradientBrush.GradientStops>
        </LinearGradientBrush>
      </Button.Background>
    </Button>

  </StackPanel>
</Page>

참고 항목