2

拥有一个宽度不得超过 700 像素的 UserControl。已将其 MaxWidths 设置为 700px。

里面是一个网格 - 3 列。第一列和第二列将有标签,第三列将输入字段。标签内容将根据语言动态变化。

我要做的是让我在第 2 列中的输入字段尽可能宽,一旦第 0 列和第 1 列中的标签在加载控件时动态获取它们的内容。

我已经设置:

1) 第 2 列的最小宽度,以确保如果第 0 列和第 1 列中的标签太宽,输入字段不会完全隐藏。

2) 将第 2 列设置为 Width="*" 以让我的输入字段在设置标签时使用所有可用宽度。

3) 列 0 和 1 Width="Auto" 让它们根据需要增长以适应标签。

现在我遇到了这个问题 - 如果第 0 列或第 1 列的文本太长,则整个网格开始扩展超出其容器的最大大小,并且第三列被切断。有没有办法阻止这种情况,而不在第 0 列和第 1 列上设置 MaxWidth?

4

2 回答 2

4

您可以将 设置MaxWidth为绑定到父级:

<Grid MaxWidth="{Binding ActualWidth, ElementName=NameOfYourParentElement}" ... />
于 2018-07-18T15:02:50.353 回答
0

不,不是。

如果您不希望标签被切断并且您不希望网格通过其父级扩展,您唯一的两个选择是在第 0 列和第 1 列上设置最大宽度或在标签上设置最大宽度第 0 列和第 1 列,并将标签中的文本设置为换行。否则,某些东西会被剪裁或重叠。

于 2013-05-02T16:45:15.380 回答