2011-11-12 47 views
-2

我想在后台代码中手动触发ItemsControl的Measure/Arrange布局传递,无需用户交互。可能吗?如果是,如何?我试过InvalidateMeasure(),UpdateLayout(),但没用。WPF中的布局系统

+0

你真正的问题是什么?为什么你需要触发布局管理? – Vlad

回答

1

使用InvalidateVisual方法来调用重新绘制:

的失效元素的呈现,并强制执行完整的新布局 通。 OnRender在布局周期完成后调用。

然而,微软建议,这应该几乎可以手动在应用中使用,有可能是另一种解决问题的方法(如正确使用依赖属性,例如),如果我们知道这一点。

+0

即使这不起作用。在哪里调用这个方法?从ItemsControl或ItemsPanel? –

+2

请定义“不工作”。怎么了?什么不发生?你期望发生什么? –

+0

我在我的控件的ItemsPanel的Measure Override(比如我的自定义面板)中有一个断点。我正在尝试在ItemsControl和ItemsPanel中所说的方法。但是断点没有打。 –