2010-04-27 66 views
0

我知道这可能很愚蠢,我刚刚开始使用WPF。在WPF中切换主视图

我想在用户点击某个控件时切换到另一个视图,例如在列表中单击一个按钮后显示详细信息页面。这一观点将取代原来的观点。

在Web应用程序中,这将导航到不同的页面。那是什么地方成语?

回答

1

我相信你想打开不同的对话框。

整理我的WPF控件像这样,在MVC模式的一种形式:

意见< ==>控制器< ==>数据

所以,当你点击一个视图,控制器处理点击的逻辑,类似于Web服务器如何处理用户输入的逻辑。控制器然后确定是否打开另一个视图。如果用户输入需要一些存储或处理状态,那么控制器将其关闭到“数据”部分。如有必要,该数据类将把东西放到磁盘上。控制器也可以传递给'处理'类,它将处理输入并将其返回给控制器,然后控制器确定是将结果显示给用户,还是将它们放在文件中,两者都不是。

tl; dr-将控制逻辑放在后端类而不是窗口本身。后端将打开另一个窗口。

0

迄今为止,我已经构建了我的应用程序,使得路径中的所有视图(想到向导或类似的多阶段输入)都在TabControl中。

我可以很容易地隐藏选项卡(可见性=折叠)并将给定选项卡放在前面。

我将在后面的代码中处理导航,处理Click和MouseDown事件。

业务逻辑将由连接到UI元素的命令处理。看起来,命令是在代码后面执行的。这允许对业务逻辑进行单元测试而不会篡改用户界面。

这样我就应该拥有MVVM的所有优点,并且最小的麻烦。当然,更好的建筑非常受欢迎。目前选择的图书馆是MVVM基金会。