كيفية القيام بما يلي: تغيير حجم الصفوف باستخدام GridSplitter

يوضح هذا المثال كيفية استخدام GridSplitter أفقي لإعادة توزيع المسافة بين صفين في Grid دون تغيير أبعاد Grid.

مثال

كيفية إنشاء GridSplitter الذي يعرض حافة الصف

لتحديد GridSplitter الذي يعيد ضبط حجم الصفوف المتجاورة في Grid،قم بتعيين الخاصية المرفقة ب Row إلى أحد الصفوف التي تريد تغيير حجمها. إذا كان Grid الخاص بك يحتوي على أكثر من عمود قم بتعيين الخاصية المرفقة ب ColumnSpan لتحديد عدد الأعمدة. ثم قم بتعيين VerticalAlignment إلى Top أو Bottom (يعتمد نوع المحاذاة التي قمت بتعيينه على أي صفين تريد تغيير حجمهما). في النهاية قم بتعيين خاصية HorizontalAlignment إلي Stretch.

يوضح المثال التالي كيفية تعريف GridSplitter أفقي الذي يعيد ضبط حجم الصفوف المتجاورة.

<GridSplitter Grid.Row="1" 
              Grid.ColumnSpan="3" 
              HorizontalAlignment="Stretch" 
              VerticalAlignment="Top"
              Background="Black" 
              ShowsPreview="true"
              ResizeDirection="Columns"
              Height="5"/>

GridSplitter التي لا تشغل الصف الخاص بها قد يتم حجبها بواسطة عناصر تحكم أخرى في Grid. للحصول على معلومات أكثر حول كيفية تجنب هذه المشكلة، راجع كيفية القيام بما يلي: التأكد من أن GridSplitter مرئية.

كيفية إنشاء GridSplitter الذي يشغل صف

لتحديد GridSplitter الذي يشغل صف في Grid،قم بتعيين الخاصية المرفقة ب Row إلى أحد الصفوف التي تريد تغيير حجمها. إذا كان Grid الخاص بك يحتوي على أكثر من عمود قم بتعيين الخاصية المرفقة ب ColumnSpan إلي عدد الأعمدة. ثم قم بتعيين VerticalAlignment إلي Center و تعيين خاصية HorizontalAlignment إلي Stretch, و تعيين Height الخاص بالصف الذي يحتوي GridSplitter إلي Auto.

يوضح المثال التالي كيفية تعريف GridSplitter أفقي الذي يشغل صف و يعيد تغيير حجم الصفوف التي على أي من جوانبه.

<Grid.RowDefinitions>
  <RowDefinition Height="50*" />
  <RowDefinition Height="Auto" />
  <RowDefinition Height="50*" />
</Grid.RowDefinitions>


...


<StackPanel Grid.Row="0" Grid.Column="1" Background="Tan"/>
<GridSplitter Grid.Row="1"
              HorizontalAlignment="Stretch"
              VerticalAlignment="Center"
              Background="Black" 
              ShowsPreview="True"
              Height="5"
           />
<StackPanel Grid.Row="2" Grid.Column="0" Background="Brown"/>

راجع أيضًا:

المرجع

GridSplitter

موارد أخرى

مواضيغ إجراءات GridSplitter