ادامه کنترل گرید:

خاصیت ShowGridLines :
کنترل گرید دارای خاصیتی به نام ShowGridLines می باشد که مقدار پیش فرض آن False می باشد.
چنانچه این مقدار را به True تغییر دهید، می توانید خطوطی که سطر ها وستون های کنترل گرید را از یکدیگر جدا می کند را مشاهده نمایید. البته معمولا از این خاصیت استفاده چندانی نمی شود مگر در موارد خاصی که شما نیاز داشته باشید، خط واصل بین سطر ها وستون ها را به کاربر نهایی نشان دهید.
حال به قطعه کد زیر که ترکیبی از دو قطعه کد فوق است توجه فرمایید :

<Window x:Class="Grid.Window1"

xmlns="http :// schemas.microsoft.com/winfx/2006/xaml
/presentation"

xmlns:x="http://schemas.microsoft.com/winfx/2006/xa
ml"
Title="Window1" Height="300" Width="300">
<Grid ShowGridLines="True">
<!--Begin Grid Row Definitions-->
<Grid.RowDefinitions>
<RowDefinition></RowDefinition> <!--
Frist Row-->
<RowDefinition></RowDefinition><!--
Second Row-->
<RowDefinition></RowDefinition><!--
Third Row-->
</Grid.RowDefinitions>
<!--End of Grid Row Definitions-->

<!--Begin Grid Column Definitions-->
<Grid.ColumnDefinitions>

<ColumnDefinition></ColumnDefinition><!--First
Column-->

<ColumnDefinition></ColumnDefinition><!--Second
Column-->

<ColumnDefinition></ColumnDefinition><!--Third
Column-->
</Grid.ColumnDefinitions>
<!--End of Grid Column Definitions-->

</Grid>
</Window>


قطعه کد فوق، سه سطر و سه ستون برای کنترل گرید تعریف می کند که در مجموع 9 سلول را برای این کنترل به وجود می آورند. نتیجه حاصل از قطعه کد فوق را در شکل زیر مشاهده می کنید:



تعادل در اندازه سطر ها و ستون ها :
همانطور که در شکل فوق مشخص است، فضای موجود بر روی کنترل گرید، به صورت مساوی بین تمامی سطر ها وستون های این کنترل تقسیم می شود. در زمان اجرای برنامه و با تغییر سایز پنجره و به تبع آن تغییر سایز گرید، این فضا همچنان به صورت اتوماتیک، به قسمت های مساوی بین سطر هاو ستون های کنترل گرید، تقسیم می شود.
در واقع در حالت عادی، کنترل گرید دارای رفتاری مشابه با کنترل UniformGrid می باشد که در بخش قبلی در رابطه با آن توضیحات مفصلی داده شد.
همانطور که اشاره شد، سطر ها دارای خاصیتی به نام Height و ستون ها دارای خاصیتی به نام Width در کنترل گرید می باشند. هر یک از این دو خاصیت، می توانند یکی از سه مقدار زیر را در بر گیرند که با توجه به آن مقدار فضای آن و رفتار آن با کنترل درونی خودش مشخص می شود.
1-سایز مطلق :
توسط این خاصیت می توانید، مقدار مشخص و ثابتی را به عنوان عرض ستون و یا ارتفاع سطر مشخص کنید. به عنوان مثال دستور

<RowDefinition Height="200"></RowDefinition>


سطری را با ارتفاع ثابت 200 تعریف می کند و دستور زیر :

<ColumnDefinition Width="200"></ColumnDefinition>

ستونی را با عرض ثابت 200 تعریف می کند.
2-سایز اتوماتیک :
این خاصیت، عرض ستون و ارتفاع سطر را به صورت اتوماتیک و بر اساس نیاز کنترل درونی خودش تنظیم میکند. به عنوان مثال اگر کنترلی با دارای عرض 200 و ارتفاع 300 باشد و درون سلولی که سطر و ستون آن با این روش مقدار دهی شده اند، قرارداشته باشد، سلول مورد نظر تغییر اندازه داده تا بتواند کل فضای مورد نیاز آن کنترل را تامین کنید. مقداری که باید به کار برده شود تا سطر و ستونی به عنوان سطر و ستون اتوماتیک معرفی گردد، کلمه Auto می باشد. به کد های زیر توجه کنید:

<RowDefinition Height="Auto"></RowDefinition>
<ColumnDefinition Width="Auto"></ColumnDefinition>

در شکل فوق سطر و ستونی با ارتفاع اتوماتیک تعریف شده اند.
3-سایز نسبی :
توسط این خاصیت، فضای موجود بین تعدای سطر و ستون تقسیم بندی می شود. در واقع این حالت، حالت پیش فرض برای عرض ستون ها و ارتفاع سطرها می باشد. توسط کاراکتر * می توانید از این خاصیت برای خواص Width و Height استفاده نمایید.
به عنوان مثال، کد های زیر نتیجه ای یکسان با آن چیزی که در شکل قبلی ملاحظه کردید را خواهد داشت.

<Grid ShowGridLines="True">
<!--Begin Grid Row Definitions-->
<Grid.RowDefinitions>
<RowDefinition Height="*"></RowDefinition>
<!--Frist Row-->
<RowDefinition
Height="*"></RowDefinition><!--Second Row-->
<RowDefinition
Height="*"></RowDefinition><!--Third Row-->
</Grid.RowDefinitions>
<!--End of Grid Row Definitions-->

<!--Begin Grid Column Definitions-->
<Grid.ColumnDefinitions>
<ColumnDefinition
Width="*"></ColumnDefinition><!--First Column-->
<ColumnDefinition
Width="*"></ColumnDefinition><!--Second Column-->
<ColumnDefinition
Width="*"></ColumnDefinition><!--Third Column-->
</Grid.ColumnDefinitions>
<!--End of Grid Column Definitions-->

</Grid>

نکته قابل توجه ای که می توان در حالت سایز نسبلی به آن توجه داشت و به واقع دلیل اصلی نام گذاری آن نیز، همین نکته می باشد این است که شما می توانید سطری یا ستونی را از لحاظ ارتفاع و عرض، چندین برابر سطر و یا ستون دیگری تعریف کنید. به عنوان مثال سطری که خاصیت ارتفاع آن به صورت Height = 2* تعریف شده باشد، ارتفاعش دو برابر سطری است که ارتفاع آن به صورت Height = * تعریف شده باشد. به همین صورت سطری که ارتفاع آن به صورت Height=0.25* تعریف شده است، ارتفاعی به اندازه 1/8 سطری دارا که ارتفاع آن به صورت Height =2* تعریف شده است. این موضوع در مورد ستون ها و عرض آن ها نیز صدق است.