Bagikan melalui


Cara menggunakan sumber daya sistem (WPF .NET)

Contoh ini menunjukkan cara menggunakan sumber daya yang ditentukan sistem. Sumber daya sistem disediakan oleh WPF dan memungkinkan akses ke sumber daya sistem operasi, seperti font, warna, dan ikon. Sumber daya sistem mengekspos beberapa nilai yang ditentukan sistem sebagai sumber daya dan properti untuk membantu Anda membuat visual yang konsisten dengan Windows.

Font

SystemFonts Gunakan kelas untuk mereferensikan font yang digunakan oleh sistem operasi. Kelas ini berisi nilai font sistem sebagai properti statis, dan properti yang mereferensikan kunci sumber daya yang dapat digunakan untuk mengakses nilai tersebut secara dinamis pada waktu proses. Misalnya, CaptionFontFamily adalah SystemFonts nilai, dan CaptionFontFamilyKey merupakan kunci sumber daya yang sesuai.

Contoh berikut menunjukkan cara mengakses dan menggunakan properti SystemFonts sebagai nilai statis untuk menata atau mengkustomisasi blok teks:

<TextBlock FontSize="{x:Static SystemFonts.SmallCaptionFontSize}"
           FontWeight="{x:Static SystemFonts.SmallCaptionFontWeight}"
           FontFamily="{x:Static SystemFonts.SmallCaptionFontFamily}"
           Text="Small Caption Font">
</TextBlock>

Untuk menggunakan nilai SystemFonts dalam kode, Anda tidak perlu menggunakan nilai statis atau referensi sumber daya dinamis. Sebagai gantinya, gunakan properti SystemFonts non-kunci kelas. Meskipun properti non-kunci tampaknya didefinisikan sebagai properti statis, perilaku run-time WPF seperti yang dihosting oleh sistem akan mengevaluasi ulang properti secara real time dan akan memperhitungkan perubahan yang didorong pengguna dengan benar pada nilai sistem. Contoh berikut menunjukkan cara menentukan pengaturan font tombol:

var myButton = new Button()
{
    Content = "SystemFonts",
    Background = SystemColors.ControlDarkDarkBrush,
    FontSize = SystemFonts.IconFontSize,
    FontWeight = SystemFonts.MessageFontWeight,
    FontFamily = SystemFonts.CaptionFontFamily
};

mainStackPanel.Children.Add(myButton);
Dim myButton = New Button() With
{
    .Content = "SystemFonts",
    .Background = SystemColors.ControlDarkDarkBrush,
    .FontSize = SystemFonts.IconFontSize,
    .FontWeight = SystemFonts.MessageFontWeight,
    .FontFamily = SystemFonts.CaptionFontFamily
}

mainStackPanel.Children.Add(myButton)

Font dinamis dalam XAML

Metrik font sistem dapat digunakan sebagai sumber daya statis atau dinamis. Gunakan sumber daya dinamis jika Anda ingin metrik font diperbarui secara otomatis saat aplikasi berjalan; jika tidak, gunakan sumber daya statis.

Catatan

Sumber daya dinamis memiliki kata kunci Key yang ditambahkan ke nama properti.

Contoh berikut menunjukkan cara mengakses dan menggunakan sumber daya dinamis font sistem untuk menata atau mengkustomisasi blok teks:

<TextBlock FontSize="{DynamicResource {x:Static SystemFonts.SmallCaptionFontSize}}"
           FontWeight="{DynamicResource {x:Static SystemFonts.SmallCaptionFontWeight}}"
           FontFamily="{DynamicResource {x:Static SystemFonts.SmallCaptionFontFamily}}"
           Text="Small Caption Font">
</TextBlock>

Parameter

SystemParameters Gunakan kelas untuk mereferensikan properti tingkat sistem, seperti ukuran tampilan utama. Kelas ini berisi properti nilai parameter sistem, dan kunci sumber daya yang mengikat nilai. Misalnya, FullPrimaryScreenHeight adalah SystemParameters nilai properti dan FullPrimaryScreenHeightKey merupakan kunci sumber daya yang sesuai.

Contoh berikut menunjukkan cara mengakses dan menggunakan nilai statis untuk menata SystemParameters atau mengkustomisasi tombol. Contoh markup ini mengukur tombol dengan menerapkan SystemParameters nilai ke tombol:

<Button FontSize="8" 
        Height="{x:Static SystemParameters.CaptionHeight}"
        Width="{x:Static SystemParameters.IconGridWidth}"
        Content="System Parameters">
</Button>

Untuk menggunakan nilai SystemParameters dalam kode, Anda tidak perlu menggunakan referensi statis atau referensi sumber daya dinamis. Sebagai gantinya, gunakan nilai SystemParameters kelas . Meskipun properti non-kunci tampaknya didefinisikan sebagai properti statis, perilaku run-time WPF seperti yang dihosting oleh sistem akan mengevaluasi ulang properti secara real time, dan akan memperhitungkan perubahan berbasis pengguna dengan benar pada nilai sistem. Contoh berikut menunjukkan cara mengatur lebar dan tinggi tombol dengan menggunakan SystemParameters nilai:

var myButton = new Button()
{
    Content = "SystemParameters",
    FontSize = 8,
    Background = SystemColors.ControlDarkDarkBrush,
    Height = SystemParameters.CaptionHeight,
    Width = SystemParameters.CaptionWidth,
};

mainStackPanel.Children.Add(myButton);
Dim myButton = New Button() With
{
    .Content = "SystemParameters",
    .FontSize = 8,
    .Background = SystemColors.ControlDarkDarkBrush,
    .Height = SystemParameters.CaptionHeight,
    .Width = SystemParameters.CaptionWidth
}

mainStackPanel.Children.Add(myButton)

Parameter dinamis di XAML

Metrik parameter sistem dapat digunakan sebagai sumber daya statis atau dinamis. Gunakan sumber daya dinamis jika Anda ingin metrik parameter diperbarui secara otomatis saat aplikasi berjalan; jika tidak, gunakan sumber daya statis.

Catatan

Sumber daya dinamis memiliki kata kunci Key yang ditambahkan ke nama properti.

Contoh berikut menunjukkan cara mengakses dan menggunakan sumber daya dinamis parameter sistem untuk menata atau menyesuaikan tombol. Contoh XAML ini mengukur tombol dengan menetapkan SystemParameters nilai ke lebar dan tinggi tombol.

<Button FontSize="8" 
        Height="{DynamicResource {x:Static SystemParameters.CaptionHeightKey}}"
        Width="{DynamicResource {x:Static SystemParameters.IconGridWidthKey}}"
        Content="System Parameters">
</Button>

Lihat juga