首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >未定义父大小时,网格宽度"*“的行为不符合预期

未定义父大小时,网格宽度"*“的行为不符合预期
EN

Stack Overflow用户
提问于 2016-05-26 17:32:21
回答 2查看 186关注 0票数 0

我在对话框中有一组要自动调整大小的控件。一切都很好,直到我尝试使用均匀间隔的网格宽度重新排列。

下面是XAML:

代码语言:javascript
复制
<Grid Margin="20" >
    <Grid.RowDefinitions>
        <RowDefinition Height="AUTO" />
        <RowDefinition Height="AUTO" />
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="2*"/>
        <ColumnDefinition Width="*"/>
    </Grid.ColumnDefinitions>
    <Grid>
         ...left controls
    </Grid>
    <Border BorderThickness="1" BorderBrush="Gray" Grid.Column="1" Margin="0,10,0,5">
         ...right controls
    </Border>
    <Grid Grid.Row="2" Grid.ColumnSpan="2>
         ...okay and cancel
    </Grid>
</Grid>

结果如下:

不是我想要的。右列的宽度很小,由于某种原因,它没有监听"*“,使其等于另一列的一半。

如果我将一个Width="450"放在最高的网格或UserControl上(或者在运行时,调整它所在的窗口的大小!)一切都“跳跃”,我得到了我所期望的,两列均匀分布:

但现在它不响应重新调整大小或自动调整较大内容的大小(除了当父容器拉伸时不会拉伸),如果我是在相等间距后,我可以使用共享大小组。我是否做错了什么,或者这是Width="*"的预期行为

EN

Stack Overflow用户

发布于 2016-05-26 17:54:50

当您的外部网格托管在未定义宽度的容器中时,实际宽度将是后代的结果。也就是说,(外部)网格度量传递将“询问”到右边的列(边框):“我给你想要的任何空间:你需要多少空间?”只要边框片段不需要任何特定的大小,结果就是默认值(在大多数情况下是零)。因此出现了折叠行为。

基本上,您应该定义外部网格宽度或第二列宽度(意思是列中的任何内容都应该告诉它需要多少空间)。

票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37456870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档