منابع و استایل ها در WPF
شنبه 10 بهمن 1394در این مقاله درباره منابع Resources و سبک ها Styles در WPF صحبت خواهیم کرد و می آموزیم چگونه از آنها در برنامه های خود استفاده کنیم.
در این مقاله درباره منابع Resources و سبک ها Styles در WPF صحبت خواهیم کرد و می آموزیم چگونه از آنها در برنامه های خود استفاده کنیم .
منابع Windowها به ما اجازه می دهند از مقادیر تعریف شده و عناصر ، مجددا استفاده کنیم . می توانیم ویژگی های چندین کنترل را در یک زمان تنظیم کنیم .
در زیر لیستی از مکان هایی که منابع می توانند تعریف شوند آورده ایم .
. به عنوان Global Application Scope در فایل App.xaml
. به عنوان Window Level Scope در میان ویژگی Resources پنجره جاری
. در میان ویژگی Resources از هر FrameworkElement یا FrameworkContentElement (به طور مثال : Grid و StackPanel )
. فایل منبع XAML جداگانه
در زیر نمونه ای از قراردادن منابع رشته ای قابل استفاده مجدد به عنوان Window Level Scope را مشاهده میکنید.
1. استفاده از فضای نام زیر :
xmlns:sys="clr-namespace:System;assembly=mscorlib"
2. تعریف منابع در Windows.Resources
<sys:String x:Key="strTitle">Pi-Techniques</sys:String>
3. اکنون می توانیم از منابع بالا برای اتصال داده ها به کنترل ها استفاده کنیم.
<TextBlock Text="{StaticResource strTitle}"/>
کدها در Main Window به صورت زیر خواهد بود :
<Window x:Class="WpfApplication.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:WpfApplication" xmlns:sys="clr-namespace:System;assembly=mscorlib" mc:Ignorable="d" Title="barnamenevisan.org" Height="350" Width="525"> <Window.Resources> <sys:String x:Key="strTitle">مرجع تخصصی برنامه نویسان</sys:String> </Window.Resources> <StackPanel> <TextBlock>به"<TextBlock Text="{StaticResource strTitle}" />"خوش آمدید</TextBlock> </StackPanel> </Window>
نمونه ای از استایلهای قابل استفاده مجدد :
1. تعریف استایل جدید در Windows Resource
<Window.Resources> <sys:String x:Key="strTitle">مرجع تخصصی برنامه نویسان</sys:String> <Style TargetType="TextBlock"> <Setter Property="Foreground" Value="DarkRed"/> <Setter Property="HorizontalAlignment" Value="Center"/> </Style> </Window.Resources>
این استایل به صورت خودکار بر روی همه TextBlock ها در صفحه جاری اعمال خواهد شد.
همچنین می توانیم عنصری را برای textblock خاصی ایجاد کنیم.
<Window.Resources> <sys:String x:Key="strTitle">مرجع تخصصی برنامه نویسان</sys:String> <Style TargetType="TextBlock"> <Setter Property="Foreground" Value="DarkRed"/> <Setter Property="HorizontalAlignment" Value="Center"/> </Style> <Style x:Key="Headings" TargetType="TextBlock"> <Setter Property="FontSize" Value="30"/> <Setter Property="Foreground" Value="#FF008567"/> <Setter Property="HorizontalAlignment" Value="Center"/> </Style> </Window.Resources> <StackPanel> <TextBlock Text="{StaticResource strTitle}" Style="{StaticResource Headings}" /> <TextBlock HorizontalAlignment="Center">به"<TextBlock Text="{StaticResource strTitle}" />" خوش آمدید </TextBlock> </StackPanel>
- WPF
- 2k بازدید
- 2 تشکر