我对个人项目有所了解。我知道在Windows窗体中实现它的一种方法(我不再希望使用它)。基本上我可以(在WinForms中)将所有内容绘制到屏幕上(Form),然后当我需要切换应用程序的视图/状态时,只需重新绘制旧内容中的新内容。
但是我们怎样才能在WPF中拥有不同的状态?这样做有“正确”或“正确”的方式吗?在文档的某个地方是否覆盖了这样的内容?
我想自己进行搜索,但我不知道到底要找什么,目前寻找正确信息的尝试到目前为止都没有产生任何有用(甚至相关)的结果。
任何帮助都将非常感谢。我是WPF的新手,但过去一周取得了很大的进步!
谢谢!
P.S .: 我只是想做点什么。如果解决方案是绘制一个屏幕所需的内容,并且是时候显示下一个屏幕,只需处理/隐藏所有内容并创建/显示新内容,那么我们如何解决这个问题呢?因为我们不能/不应该在运行时更改XAML标记,我们可以吗? :/ 的
答案 0 :(得分:2)
不确定如何在WinForms中绘制视图/状态(直接在Graphics对象上绘制?)。
与您描述的最接近的是VisualStateManager。您可以使用它在单个XAML中静态定义多个视觉状态并在它们之间传输(如果需要,可以使用平滑动画)。
如果您所做的是使用Show / ShowDialog()显示不同的表单,那么等效的将是使用不同的Windows并显示/隐藏它们。
如果您刚刚清除/添加了控件到您的表单,那么您可以在WPF中执行相同的操作。 WPF中的大多数控件在表单中都有Content
或Children
属性,而不是Control.Controls
。
答案 1 :(得分:1)
我不知道我是否理解你真正想要的东西。但这是我的想法:
我认为你会对第二个解决方案感到满意