我知道这可能很愚蠢,我刚刚开始使用WPF。
我想在用户点击控件时切换到其他视图,例如在单击列表后显示详细信息页面。此视图将替换原始视图。
在Web应用程序中,这将导航到不同的页面。那个地方的习语是什么?
答案 0 :(得分:1)
我相信你想打开一个不同的对话框。
我以MVC模式的形式组织我的WPF控件:
观看< ==>控制器< ==>数据
因此,当您单击视图时,控制器将处理单击的逻辑,类似于Web服务器处理用户输入逻辑的方式。然后控制器确定是否打开另一个视图。如果用户输入需要存储或处理状态,则控制器将其传递给“数据”部分。如有必要,该数据类将把东西放到磁盘上。控制器也可以传递给'处理'类,它将处理输入并将其返回给控制器,控制器然后确定是将结果显示给用户,将它们放在文件中,两者都放在哪里。 / p>
tl;将您的控制逻辑放在后端类而不是窗口本身。那个后端将打开另一个窗口。
答案 1 :(得分:0)
到目前为止,我已经构建了我的应用程序,以便路径中的所有视图(想到向导或类似的多阶段输入)都在TabControl中。
我可以轻松隐藏标签(visibility = collapsed)并将给定标签放在前面。
我将处理后面的代码导航,处理Click和MouseDown事件。
业务逻辑将由附加到UI元素的命令处理。看起来,命令在代码后面执行。这允许在不篡改用户界面的情况下对业务逻辑进行单元测试。
这样我就可以轻松获得MVVM的所有好处。当然,更好的架构是非常受欢迎的。选择的库是暂时的MVVM基础。