Show / Hide Table of Contents

Практическое руководство. Определение и создание ссылки на ресурс

В этом примере показано, как определить ресурс и сослаться на него с помощью атрибута в XAML.

Пример

В следующем примере определяется два типа ресурсов: SolidColorBrush ресурсов, а также несколько Style ресурсы. SolidColorBrush Ресурсов MyBrush используется для предоставления значений нескольких свойств каждого занять Brush введите значение. Style Ресурсы PageBackground, TitleText и Label каждого предназначенных для определенного типа элемента управления. Стили устанавливается ряд различных свойств для целевых элементов, если ресурс стиля ссылается ключ ресурса и используется для задания Style свойства нескольких элементов конкретного элемента управления, определенных в XAML.

Примечание, что одно из свойств метода установки Label также ссылается на стиль MyBrush ресурс, определенный ранее. Это распространенный способ, но это важно помнить, что ресурсы анализируются и введенные в словарь ресурсов, в том порядке, приведенном. Запрос ресурсов также осуществляется в порядке, найти в словаре, если вы используете расширение разметки StaticResource ссылки на эти из другого ресурса. Убедитесь, что определены любой ресурс, на которую есть ссылки в коллекции ресурсов, чем которой затем запрошена этого ресурса. При необходимости можно обойти строгий порядок создания ссылки на ресурсы с помощью расширение разметки DynamicResource для ссылки на ресурс во время выполнения, вместо этого, но следует иметь в виду, этот DynamicResource метод имеет влияние на производительность. Дополнительные сведения см. в разделе ресурсы XAML.

<Page Name="root"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <Page.Resources>
    <SolidColorBrush x:Key="MyBrush" Color="Gold"/>
    <Style TargetType="Border" x:Key="PageBackground">
      <Setter Property="Background" Value="Blue"/>
    </Style>
    <Style TargetType="TextBlock" x:Key="TitleText">
      <Setter Property="Background" Value="Blue"/>
      <Setter Property="DockPanel.Dock" Value="Top"/>
      <Setter Property="FontSize" Value="18"/>
      <Setter Property="Foreground" Value="#4E87D4"/>
      <Setter Property="FontFamily" Value="Trebuchet MS"/>
      <Setter Property="Margin" Value="0,40,10,10"/>
    </Style>
    <Style TargetType="TextBlock" x:Key="Label">
      <Setter Property="DockPanel.Dock" Value="Right"/>
      <Setter Property="FontSize" Value="8"/>
      <Setter Property="Foreground" Value="{StaticResource MyBrush}"/>
      <Setter Property="FontFamily" Value="Arial"/>
      <Setter Property="FontWeight" Value="Bold"/>
      <Setter Property="Margin" Value="0,3,10,0"/>
    </Style>
  </Page.Resources>
  <StackPanel>
    <Border Style="{StaticResource PageBackground}">
      <DockPanel>
        <TextBlock Style="{StaticResource TitleText}">Title</TextBlock>
        <TextBlock Style="{StaticResource Label}">Label</TextBlock>
        <TextBlock DockPanel.Dock="Top" HorizontalAlignment="Left" FontSize="36" Foreground="{StaticResource MyBrush}" Text="Text" Margin="20" />
        <Button DockPanel.Dock="Top" HorizontalAlignment="Left" Height="30" Background="{StaticResource MyBrush}" Margin="40">Button</Button>
        <Ellipse DockPanel.Dock="Top" HorizontalAlignment="Left" Width="100" Height="100" Fill="{StaticResource MyBrush}" Margin="40" />
      </DockPanel>
    </Border>
  </StackPanel>
</Page>

См. также

  • Ресурсы XAML
  • Стилизация и использование шаблонов
Back to top Неофициальная документация по .NET на русском языке. Лицензия: CC-BY 4.0. Основано на документации по .NET с Microsoft Docs
Generated by DocFX