【问题标题】:Redraw Silverlight Canvas重绘 Silverlight 画布
【发布时间】:2011-06-16 17:47:06
【问题描述】:

在我的应用程序中,我正在根据我拥有的一些数据绘制一个房间。在那个“房间”里,我有架子(只不过是布局网格)。用户可以对代表货架各部分的网格中的单元格执行若干操作。 (例如将货架空间专用于产品)。一旦对房间完成了一项操作,我想重新绘制房间,就好像页面刚刚第一次加载一样。我似乎无法让它发挥作用。

我试图清除画布子项,然后导航回房间,但我只得到一个空白页。代码很简单:

LayoutRoot.Children.Clear();
NavigationService.Navigate(new Uri("/TheRoom", UriKind.Relative));

我尝试了许多其他方法,但都没有奏效。谁能告诉我我是否在这里使用了正确的方法,或者有什么我遗漏的东西你可以看到吗?

【问题讨论】:

  • 这个question 可能会有所帮助。
  • “动作”在网格上究竟做了什么?
  • 如果您导航到当前页面,它将不会重新加载。为什么不在清除可视化树后立即调用代码再次填充房间?我们确实需要更多关于您的页面如何工作的信息,以提供任何真正的解决方案。

标签: c# silverlight partial-page-refresh


【解决方案1】:

调用 InvalidateArrange(); 怎么样?或无效视觉();我不记得哪些功能可用于 Canvas 与 Panel 和 Silverlight 与 WPF,但我知道其中一些是可用的。

如果 Canvas 没有提供合适的失效方法,您可以随时继承面板并创建自己的“Canvas”并覆盖 InvalidateArrange() 来完成您需要的操作。

【讨论】:

    猜你喜欢
    • 2013-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多