خاصیت HorizantalAlignment
این خاصیت تراز بندی (نحوه چیدمان)افقی را نسبت به در کنترل پدر مشخص می کند که می تواند Left,Right,Center,Stretch باشد
به طوری که Left از سمت چپ تراز می شود و Right از سمت راست. و نیز Center تراز وسط می شود و Stretch تمامی عرض کنترل پدرش را پوشش دهد.(بصورت پیش فرص ترازها چه افقی و چه عمودی بصورت Stretch می باشد)
اگر دقت کنید می بیند از این خاصیت در Word دائما استفاده می کنید. در واقع همان کار آیکنهای زیر در Word را می کند
<StackPanel>
<TextBox HorizontalAlignment="Left" >HorizontalAlignment="Left"</TextBox>
<TextBox HorizontalAlignment="Right">HorizontalAlignment="Right"</TextBox>
<TextBox HorizontalAlignment="Center">HorizontalAlignment="Center"</TextBox>
<TextBox >HorizontalAlignment="Stretch"</TextBox>
</StackPanel>
خاصیت SnapsToDevicePixels
در صورتی این خاصیت تیک نشده باشد خطوط کشیده شده رندر نمی شوند و در نتیجه بصورت نیمه شفاف دیده خواهند شد برای درک بهتر به مثال زیر توجه کنید
<StackPanel Width="150" Margin="7" Orientation="Horizontal">
<!-- Single pixel line with pixel snapping turned OFF.-->
<Rectangle SnapsToDevicePixels="False"
Width="45.5" Margin="10" Height="1" Fill="Red"/>
<!-- Single pixel line with pixel snapping turned ON.-->
<Rectangle SnapsToDevicePixels="True"
Width="45.5" Margin="10" Height="1" Fill="Red"/>
</StackPanel>
مثال در VB.Net
Button1.SnapsToDevicePixels = True
خاصیت Opacity
این خاصیت شفافیت کنترلها را نشان می دهد. که از نوع Double که می تواند از 1 تا 0 باشد. پیش فرض آن 1 (نمایش به صورت کامل). البته می توان عدد بزرگتر هم در آن قرار داد که در آن صورت عملکرد آن همانند همان عدد 1 می باشد.
برای درک بهتر موضوع لطفا به شکل زیر توجه کنید.
<StackPanel>
<Button Height="30" Width="150" Margin="10" Opacity="1" >Opacity="1" =>Show=100%</Button>
<Button Height="30" Width="150" Margin="10" Opacity=".75" >Opacity="0.75" =>Show=75%</Button>
<Button Height="30" Width="150" Margin="10" Opacity=".35" >Opacity="0.35" =>Show=35%</Button>
<Button Height="30" Width="150" Margin="10" Opacity="0.1" >Opacity="0.1" =>Show=10%</Button>
<Button Height="30" Width="150" Margin="10" Opacity="0" >Opacity="0" =>Show=0%</Button>
</StackPanel>
مثال در VB.Net
Dim Op As Double = 0.5
Button1.Opacity = Op
'Button1.Opacity = 0.5
اگر بخواهید از خاصیت Opacity به طور معمول استفاده کنید هیچ گونه شفافیتی بدست نخواهید آورد و فقط صفحه شما تیره تر خواهد شد .
برای استفاده از این خاصیت در Window ها باید دو کار قبلش انجام دهید
1- تیک خاصیت Allows Transparency رو زده باشید(این خاصیت باید True باشد(
2- خاصیت شفاف بودن فقط در WindowStyle به صورت None قابل استفاده است.(یعنی خاصیت WindowStyle=None قرار داده باشید)
Window x:Class="Window1">
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300" AllowsTransparency="True" WindowStyle="None" Opacity="0.8">
<Grid>
<Button Click="Button_Click" Height="30" Width="100">Close</Button>
</Grid>
</Window>
Class Window1
Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs)
Me.Close()
End Sub
End Class
در VB.Net
Me.Opacity = 0.8
Me.AllowsTransparency = True
Me.WindowStyle = Windows.WindowStyle.None
همان طور که می دانید به جای Me می توانید از اسم صفحه(Window )استفاده کنید . Me اشاره به صفحه ای که درونش هستیم دارد.
Margin : این خاصیت فاصله کنترل را از چهار طرفی که در آن کادر قرار گرفته است مشخص می کند و به ترتیب مقادیر چپ ، بالا ، راست ، پایین را باید در فرمت XAML باید به آن داد مثلا در شکل زیر دکمه در کادر صفحه قرار گرفته است
همان طور که در شکل می بیند چون برای Button هیچ گونه اندازه ای برای عرض (Height) و طول (Width) در نظر گرفته نشده است با تغییر سایز صفحه با حفظ فاصله ها از چهار طرف سایز Button نیز تغییر می کند.
در زیر نحوه استفاده از آن را در یک Button می توانید ببیند. از سمت چپ 25، از سمت بالا 50 ، از سمت راست 100 و از سمت پایین 150 واحد فاصله ایجاد خواهد شد
<Button Name="button1" Height="20" Width="30" Margin="25,50,100,150" />
و یا اگر فاصله ها از چهار طرف یکسان و برابر 25 خواهد بود
<Button Name="button1" Height="20" Width="30" Margin="25" />
همچنین می توانید فاصله را بصورت سمت چپ ، راست (راست=چپ) و بالا،پایین (بالا=پایین) را مشخص کنید
<Button Name="button1" Height="20" Width="30" Margin="25,200" />
اگر اندازه های عرض و طول ذکر شده باشد با توجه به اینکه چگونه کنترل تراز بندی شده باشد(پیش فرض Stretch می باشد که در این تراز اگر سایز کنترل بزرگتر از اندازه فاصله شود فقط فاصله های چپ و بالا حفظ می شود) فاصله ها نیز تغییر می کند.
Margin از ساختار Thickness استفاده می کند. این ساختار دارای چهار عضو Left , Top,Right,Bottom می باشد.
مثال در VB.Net
Dim b As Thickness
b.Left = 20
b.Top = 20
b.Right = 30
b.Bottom = 30
button1.Margin = b
زبان XAML مخفف عبارت EXtensible Application Markup Language می باشد. زبان XAML یک زبان توصیفی می باشد و بر پایه قواعد XML می باشد. این زبان در ایجاد برنامه های WPF نقش بسیار موثری را بازی می کند.این زبان که همراه با ویژوال استودیو 2008 درون آن موجود و نصب شده می باشید، برای نمونه سازی وتعریف آبجکت های WPF به کار می رود. منظور از آبجکت، در اینجا یک واژه کلی می باشد. از یک خط ساده گرفته تا تولید و ایجاد کنترل های پیچیده، همگی قابل پیاده سازی با این زبان توصیفی می باشند. در واقع WPF این زبان را برای ایجاد واسط های کاربری برنامه های خود به کار می گیرد.اگر چه در ابتدا ممکن است اینگونه به نظر آید که استفاده از XAML برای طراحی پنجره ها و یا صفحات و یا هر آبجکت دیگری درون WPF مشکل تر از نحوه ایجاد فرم های ویندوزی در مدل های برنامه نویسی پیشین باشد، ولی به واقع اینگونه نیست. با کمی تلاش و استفاده از این زبان، پس از مدتی متوجه خواهید شد که توسعه برنامه ها و طراحی پنجره های برنامه به همراه محتویات درون آن ها، توسط XAML بسیار سریعتر و روان تر از روش های پیشین که معمولا به صورت Drag کردن کنترل ها و اشیاء بر روی فرم ها بود، می باشد. علاوه بر این پس از مدتی خواهید دید که ایجاد آبجکت ها و به ویژه ایجاد انواع اشکال با انواع افکت های گوناگون بر روی آن ها، توسط XAML به راحتی صورت می پذیرد.
در ادامه نگاهی گذرا به روش های پیشین طراحی خواهیم انداخت و مقایسه خواهیم کرد که استفاده از XAML در تولید برنامه های WPF چه اثراتی دارد.
ادامه مطلب ...