كيفية القيام بما يلي: تعريف مورد و الإشارة إليه

يوضح هذا المثال كيفية تعريف مورد والإشارة إليه باستخدام سمة في Extensible Application Markup Language (XAML).

مثال

يحدد المثال التالي نوعين من أنواع الموارد: SolidColorBrush مورد و العديد من Style الموارد. SolidColorBrush المورد MyBrush يُستخدم لتوفير قيمة العديد من الخصائص الذي يستغرق كل Brush نوع القيمة. Style الموارد PageBackground ، TitleText و Label لكل هدف نوع عنصر تحكم معين. تعين الأنماط العديد من الخصائص المختلفة على عناصر التحكم المستهدفة, عندما يتم الإشارة إلى نمط ذلك المورد بمفتاح المورد و يستخدم لتعيين Style خاصية عدة عناصر تحكم معرفة في XAML.

لاحظ أن واحدة من الخصائص ضمن معيني النمط Label يشير أيضاً إلى MyBrush المورد المعرف مسبقًا. هذه تقنية شائعة ولكن من المهم تذكر أن الموارد تتحلل و تدخل إلى قاموس المورد في الترتيب الذي يتم إعطائهم به. يتم أيضاً طلب الموارد حسب ترتيب العثور عليه داخل القاموس إذا كنت تستخدم ملحق علامات StaticResource للرجوع إليه من داخل مورد آخر. تأكد من تعريف أي مورد تشير إليه سابقا داخل مجموعة الموارد من حيث يتم طلب ذلك المورد. إذا لزم الأمر، يمكنك حل ترتيب الإنشاء الصارم لمرجع المورد باستخدام ملحق علامات DynamicResource للإشارة إلى المورد في وقت التشغيل بدلاً من ذلك, ولكن يجب عليك أن تدرك أن لدي تقنية DynamicResource نتائج للأداء. للمزيد من التفاصيل ، راجع نظرة عامة حول الموارد.

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

راجع أيضًا:

المبادئ

نظرة عامة حول الموارد

التنسيق و القولبة