إضافة/طرح طول الشبكات في WPF
-
21-09-2019 - |
سؤال
لدي ثلاثة أعمدة تحتوي على موسعين في العمود الأيسر والأيمن. عندما انهار كل من expnders ، أحتاج إلى تسريح المحتوى في العمود الأوسط على النافذة الكاملة. لذلك أحتاج إلى حساب أطوال الشبكات.
فمثلا
GridLength w1= new GridLength( 20 );
GridLength w2= new GridLength( 50 );
GridLength w3= new GridLength( 0 );
كيف تحصل على
w3 = w2 - w1
المحلول
جرب هذا: اضبط عروض القابلة للتوسيع ColumnDefinitions
إلى Auto
والوحدة المتوسطة إلى 1. تحكم في عرض الأعمدة القابلة للتوسيع عن طريق ضبط العرض على محتوياتها. ثم عندما ينهار ، يجب أن يتوسع العمود الأوسط لملء المساحة المتاحة.
مثال:
<Grid x:Name="LayoutRoot">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Expander Margin="0" VerticalAlignment="Top" Header="Expander" ExpandDirection="Right">
<Grid>
<Grid HorizontalAlignment="Left" Width="100" Background="Blue" Height="100"/>
</Grid>
</Expander>
<Expander Grid.Column="2" Margin="0" VerticalAlignment="Top" Header="Expander" ExpandDirection="Left">
<Grid>
<Grid HorizontalAlignment="Left" Width="100" Background="Blue" Height="100"/>
</Grid>
</Expander>
<Grid Background="Aquamarine" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Grid.Column="1" />
</Grid>
أتمنى أن يساعدك هذا
لا تنتمي إلى StackOverflow