|
|
1
5
老实说,我读这篇文章的时候不相信你,所以我不得不亲自去测试它,事实上你是对的。不过,我不认为你会有任何运气找到规则,因为进一步的调查让我相信这是WPF网格中的一个bug。我做了一些测试,看看我是否能找出行为,但是如果你只是想知道最后的结论,请随意滚动到下面的文章。 对不起,如果结果不清楚的话,我是怎么写出来的。前三个数字是我为每列输入的大小调整值,其余的是结果大小。 试验1:
网格300 x 300承载80像素宽的轮廓。网格有三列,控件跨越列0和1:
因此,我可以想出一些规则:
试验2:
网格300 x 300,其中3列承载一个控件,第0行的跨栏列0和2宽80像素,第1行的第1列的第二个控件宽80像素
(*)事实并非如此。列1设置为大小80,但只绘制非跨度元素的一部分。我使用按钮作为元素,而非跨距按钮的铬合金填充了80像素宽的第一列,但文本被剪裁成30像素的大小。基本上,它完全被拧死了。 从这个测试中,我可以添加另外两个规则:
所以,我想我们可以把这些规则结合成一个整体的理念: 如果一个元素跨越多个列,并且其中至少有一个(但不是全部)列是自动调整大小的,则必须有另一个不跨越的元素来为自动调整大小的列提供大小。否则,这种行为充其量是出人意料的,充其量是腐败。 尽管可以向微软提出一个bug,但由于这是网格控件的定义行为,我想我们在WPF的整个生命周期中都会一直使用它。 |
|
|
2
0
以下是操作方法:
|
|
|
3
-1
我不知道互联网上有没有完整的描述。 我知道,自动意味着它会问孩子控制他们想要多大。星号(*)表示它将占用它剩下的所有房间… 编辑:即时更新.. 宽度(ColumnDefinition)和高度(RowDefinition)是网格长度结构: |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |
|
|
Barta · WPF MVVM不更新视图 1 年前 |
|
|
Denis Ivanov · WPF控件在属性更改时不会更新 1 年前 |
|
|
codymanix · WPF:TextBlock周围可见小边框? 1 年前 |
|
|
Nostromo · 来自背景对象的工具提示 1 年前 |
|
|
Nuvolari · 从可观测集合添加/删除时出现对象处理异常 2 年前 |
|
|
CCarter · 只能在设计器中DependencyObject的DependencyProperty上设置显示“Binding”的WPF ICommand DependencyProperties[重复] 2 年前 |
|
|
Thern · 在UI线程(WPF)上的void方法中调用异步函数 2 年前 |