2011-08-22 75 views
2

我对个人项目有个想法。我知道在Windows窗体中完成它的一种方法(我不再希望使用它)。基本上我可以(在WinForms中)将所有东西绘制到屏幕上(表格),然后当我需要切换应用程序的视图/状态时,只需在旧的东西的位置重新绘制新的东西。如何在WPF应用程序中实现不同的查看状态

但是我们如何在WPF中拥有不同的状态?有没有这样做的“正确”或“适当”方式?像这样的东西覆盖文档中的某个地方?

我想我自己做的搜索,但我在寻找合适的信息不知道究竟是什么,寻找和当前的尝试,至今没有取得有益的(甚至是相关的)结果。

任何帮助都将不胜感激。我对WPF很陌生,但在过去一周里取得了很多进展!

谢谢!

P.S.:我只是想说些什么。如果解决方案是绘制一个屏幕所需的内容,以及何时需要显示下一个屏幕,只需处理/隐藏所有内容并创建/显示新内容,那么我们将如何解决这个问题?因为我们不能/不应该在运行时更改XAML标记,所以我们可以吗? :/

回答

1

我不知道如果我理解你真正想要的。但这里是我的想法:

  • 您可以使用多个窗口并显示/隐藏他们相应
  • 您可以使用WP(MSDN
  • 帧/页功能,如果你真的需要,你可以加载你的XAML并取出最上面的内容在你的窗口,并加载的内容替换它
  • 您可以使用VisualStateGroup功能来改变当前窗口的外观

我想你会很乐意与第二个解决方案

+0

谢谢@CKoenig - 我正在查看您的链接。 – bendr

2

不知道如何在你的WinForms绘制你的意见/状态(Graphics对象上直接画?)。

的最接近你描述的是VisualStateManager。您可以使用它来在单个XAML中静态定义多个视觉状态并在它们之间传输(如果需要,请使用平滑动画)。

如果你做了什么是显示不同的形式与显示/ ShowDialog的(),则相当于是使用不同的Windows和显示/隐藏它们。

如果你只是清除/添加控件到窗体,那么您可以在WPF做的完全一样。 WPF中的大多数控件在Forms中都有ContentChildren属性,而不是Control.Controls

相关问题