可以举个例子,说明何时应该使用UIElement.UpdateLayout()?

Kin*_*han 11 c# silverlight wpf user-interface

我正在阅读MSDN中的这个UpdateLayout()方法.

它说:

确保为布局正确更新此元素的所有可视子元素.

但我不明白布局没有正确更新是什么意思.

我已经使用Silverlight/WPF超过一年了,但我还没有使用过这种方法一次.

那么有人可以给我一个需要使用这种方法的例子吗?所以我真的能理解它的作用以及何时使用它?

Nic*_*s W 9

如果您需要一个控件来立即完成其布局,您可能想要调用它,以便您可以基于此做一些事情.例如,您可以调用UpdateLayout对孩子的控制,使其得到一个ActualHeightActualWidth,如果你想要做的做其他事基于这样(例如,位置,或者画点什么了相应的大小).

  • 哦,哇,正如你所说它实际上工作!我试图动态创建一个Grid和一个Button.我添加到Grid后,Button`ActualHeight/ActualWidth`只有'0.00`,但是一旦执行`UpdateLayout`,它就会给我实际值!现在我看到我可以用来做什么了,谢谢!+1 (2认同)
  • +1正是我所看到的; 调用UpdateLayout()后,ActualWidth变为可用. (2认同)