使视觉树无效

时间:2015-05-27 10:47:02

标签: c# wpf mvvm

我正在构建一个MVVM应用程序。

我有几个子视图的视图:

  • 的MainView
    • SubView1
      • SubView2
      • SubView2
    • SubView1
      • SubView2
        • SubView3
    • SubView1
    • ...

我使用几个ItemControl来可视化我的元素。

我想在ScrollViewer中显示我的MainView ---> 我使用AutoResizeCanvas - 我自己的类来计算View的大小。 (此类适用于MeasureOverride)

到目前为止一切正常。 (初始化时)

现在我的用户可以使用鼠标移动元素 - 现在我需要重新测量画布以实现我的Scrollviewer ..

我试图通过View中处理的ViewModel事件来做到这一点。

void _Network_UpdateLayout()
{
    MainCanvas.InvalidateVisual();
    MainCanvas.InvalidateMeasure();
    MainCanvas.InvalidateArrange();
}

但并非每个UIElement都会使其措施失效。 (Just MainCanvas) - 这就是我的Scrollviewer Content-Height不正确的原因。

请帮帮我! 非常感谢你!!!

0 个答案:

没有答案