سؤال

لدي ثلاثة أعمدة تحتوي على موسعين في العمود الأيسر والأيمن. عندما انهار كل من 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>

أتمنى أن يساعدك هذا

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top