Udostępnij za pośrednictwem


Instrukcje: malowanie obszaru za pomocą pędzla systemowego

Klasa SystemColors zapewnia dostęp do pędzli systemowych i kolorów, takich jak ControlBrush, ControlBrushKeyi DesktopBrush. Szczotka systemowa to obiekt SolidColorBrush, który maluje obszar o określonym kolorze systemu. Szczotka systemowa zawsze tworzy solidne wypełnienie; nie można jej użyć do utworzenia gradientu.

Można użyć pędzli systemowych jako zasobu statycznego lub dynamicznego. Użyj zasobu dynamicznego, jeśli chcesz, aby szczotka aktualizowała się automatycznie, jeśli użytkownik zmieni szczotkę systemową podczas uruchamiania aplikacji; w przeciwnym razie użyj zasobu statycznego. Klasa SystemColors zawiera różne właściwości statyczne, które są zgodne z ścisłą konwencją nazewnictwa:

  • *<SystemColor>*Szczotka

    Pobiera statyczne odwołanie do SolidColorBrush określonego koloru systemu.

  • *<SystemColor>*BrushKey

    Uzyskuje dynamiczne odwołanie do SolidColorBrush wskazanego systemowego koloru.

  • *<Kolor Systemowy>*Kolor

    Uzyskuje statyczne odniesienie do struktury Color dla określonego koloru systemowego.

  • *<SystemColor>*KluczKoloru

    Pobiera dynamiczne odniesienie do struktury Color określonego koloru systemowego.

Kolor systemu to struktura Color, która może służyć do konfigurowania pędzla. Na przykład można utworzyć gradient przy użyciu kolorów systemowych, ustawiając właściwości Color gradientu obiektu LinearGradientBrush z kolorami systemowymi. Aby zapoznać się z przykładem, zobacz używanie kolorów systemowych w gradiencie.

Przykład

W poniższym przykładzie użyto dynamicznego odwołania do pędzla systemowego, aby ustawić tło przycisku.

<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>

W następnym przykładzie użyto odwołania do statycznego pędzla systemowego, aby ustawić tło przycisku.

<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>

Aby zapoznać się z przykładem użycia koloru systemowego w gradientzie, zobacz Używanie kolorów systemowych w gradientzie.

Zobacz też