c# - View 模型中的 wpf 页面导航

标签 c# wpf binding

在我看来我有一个按钮。该按钮有一个中继命令,可以执行一些操作。在此操作之后,它应该导航到另一个站点。我怎样才能做到这一点。如何在我的 viewModel 中导航到该站点?我希望你明白我的意思。

感谢您的帮助 霍尔兹勒布

最佳答案

不幸的是,这个问题的答案可能不像您希望的那样简单明了。我认为每个人的做法都略有不同,所以这只是一种方式。 首先,我们使用 Microsoft 的 Prism/CAL 库,它具有“区域”的概念,称为占位符控件(即 ItemsControl,某种程度上)。然后在我们所有的“页面”上,我们接收一个我们创建的称为 NavigationController 的 Controller 实例,它的职责是交换 View 。 NavigationController 充满了诸如“GoToHome”之类的方法,它们执行以下操作:从依赖注入(inject)中获取 Home ViewModel(或创建一个新实例,具体取决于您的设置),通过从区域管理器获取它来清除某个区域,然后加载它与新的主页 View 模型。然后我们在“页面”的后备 View 模型中连接调用以调用 Controller 。

因此,总而言之,它需要一些管道。完成初始设置后,只需几分钟即可添加新页面,但没有神奇的“链接”,因为您必须知道要去哪里、加载哪里以及如何获得支持 View 模型。

关于c# - View 模型中的 wpf 页面导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5486167/

相关文章:

c# - 如何从数据绑定(bind)中的转换器获取依赖属性

c# - 在控件模板中设置文本框焦点

c# - 将命令绑定(bind)到 ListView 项目 MVVM 正确的方式

c# - 如何在 RichTextBox [C#] 中进行语法高亮显示?

c# - Word 互操作移动表行

c# - C#检查xml节点的安全方法?

c# - 如何使用 C# 解压缩压缩文件?

c# - 发生异常时显示窗体 C#

wpf - 如何为具有现有控件模板的 XAML 按钮设置全局样式

binding - 通过委托(delegate)绑定(bind)时,Groovy 闭包短格式方法调用不起作用?