پایان کنترل گرید (سورس مثال ها را در پایان همین پست می توانید دانلود کنید)
محدوده سطر و ستون ها در کنترل گرید :
در این قسمت دو خاصیت دیگر از خواص پیوست شده برای کنترل های درون کنترل گرید را مورد بررسی قرار خواهیم داد. این خواص نشان دهنده محدوده ای از تعداد سطر ها وستون هایی از گرید هستند که یک کنترل می تواند دربر گیرد. توسط این خواص می توانید کنترل بهتری بر روی عناصر و محل قرار گیری آن ها داشته باشید.
خاصیت RowSpan :
توسط این خاصیت می توانید مشخص کنید که کنترلی چند سطر از سطر های گرید را می تواند در بر گیرد. به عنوان مثال قطعه کد زیر :
<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-->
<!--Start Of Defining Child Controls-->
<Button >button1</Button>
<!--the Grid cell of this button is 0-->
<Button Background="GreenYellow" Grid.Row="0"
Grid.Column="1" Grid.RowSpan="3" >button2</Button>
<Button Grid.Row="2" Grid.Column="2"
>button3</Button>
<!--the Grid cell of this button is 9-->
</Grid>
در قطعه کد فوق، دکمه دوم دارای خاصیت RowSpan برابر با سه می باشد. همچنین دقت کنید که خاصیت Row آن از یک در مثال قبل به صفر در این مثال تغییر کرده است.
نتیجه حاصل از کد فوق را در شکل زیر مشاهده می کنید
خاصیت ColumnSpan :
توسط این خاصیت می توانید مشخص کنید که کنترلی چند ستون از ستون های گرید را می تواند در بر گیرد. به عنوان مثال قطعه کد زیر :
<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-->
<!--Start Of Defining Child Controls-->
<Button >button1</Button>
<!--the Grid cell of this button is 0-->
<Button Background="GreenYellow" Grid.Row="1"
Grid.Column="0" Grid.ColumnSpan="3"
>button2</Button>
<Button Grid.Row="2" Grid.Column="2"
>button3</Button>
<!--the Grid cell of this button is 9-->
</Grid>
در قطعه کد فوق، دکمه دوم دارای خاصیت ColumnSpan برابر با سه می باشد. همچنین دقت کنید که خاصیت Column آن از یک در مثال قبل به صفر در این مثال تغییر کرده است.
نتیجه حاصل از کد فوق را در شکل زیر مشاهده می کنید:
نمونه کد زیر نحوه استفاده از خواص RowSpan و ColumnSpan و نتیجه آن را در شکل بعد از آن نشاند می دهد.
<Grid ShowGridLines="True">
<!--Begin Grid Row Definitions-->
<Grid.RowDefinitions>
<RowDefinition ></RowDefinition>
<!--Frist Row-->
<RowDefinition ></RowDefinition>
<!--Second Row-->
<RowDefinition ></RowDefinition>
<!--Third Row-->
<RowDefinition ></RowDefinition>
<!--Fourth 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-->
<ColumnDefinition ></ColumnDefinition>
<!--Fourth Column-->
</Grid.ColumnDefinitions>
<!--End of Grid Column Definitions-->
<!--Start Of Defining Child Controls-->
<Button >button1</Button>
<Button Background="GreenYellow" Grid.Row="1"
Grid.Column="0" Grid.ColumnSpan="4"
Grid.RowSpan="2" >
button2</Button>
<Button Grid.Row="3" Grid.Column="3"
>button3</Button>
</Grid>

دقت کنید که در این نمونه، تعداد سطر ها وستون ها به چهار، افزایش پیدا کرده است. خاصیت RowSpan از دکمه دوم برابر با چهار و خاصیت ColumnSpan از آن برابر با دو تنظیم شده است.
پ و1:
کنترل گرید از مهمترین و پر کاربرد ترین کنترل های کانتینر در WPF می باشد. پس تمرکز زیادی بر آن داشته باشید و سعی کنید که کاملا بر آن و نحوه استفاده از ان مسلط شوید
پ و2:
از بابت فاصله زیادی که بین پست ها افتاد؛ پوزش می طلبم. گرفتاری پیش آمده بود.. اگر باز هم تاخیر چند روزه داشتم، نگران نباشید و مطمئنا این تاپیک به جاهای خوبی خوهد رسید(انشاء الله)
ایام به کامتان