我的一个用户控件中有一个XamDataGrid,位于stackpanel内部。我希望网格保持相同的高度,无论网格中有多少行。为此,我将网格的Height属性设置为显式值。
这是WPF中的事情吗?每次我做明确的大小调整时,我觉得我正在做WinForms并且没有正确使用WPF。将Height直接设置为唯一/正确的解决方案吗?
答案 0 :(得分:2)
在您希望元素始终保持相同高度的情况下设置显式高度没有任何问题。在不太合适的情况下,在父布局面板或元素的子内容可以动态使用可用空间的情况下更好地处理大小调整。
答案 1 :(得分:0)
WPF使用相对测量系统,乍看之下并不直观。当我被迫使用显式尺寸时(我在Canvas上画一些东西时),我从未找到过一个例子。我在90%的情况下使用样式,我定义了填充,边距,Aligment等。有时我使用MinHeight和MinWidth来处理简单的事情。
关于该网格,您可以将它放在ScrollViewer或ViewBox中以进行动态调整大小,但如果没有问题则设置显式高度。