wpf - 您可以将数据绑定(bind)与 WPF 框架的 Content 属性一起使用吗?

标签 wpf mvvm navigation frame

我可以使用数据绑定(bind)来设置 WPF 框架的初始内容,但是对绑定(bind)属性的后续更改(使用 INotifyPropertyChange 实现)似乎不会更改内容。

另外,有谁知道以这种方式直接绑定(bind)到 Content 属性是否会导致绑定(bind)项目出现在 Frame 或 NavigationWindow 的日志中?

一些上下文:我意识到我可能应该使用 NavigationService 与 Frame 进行交互,但我正在尝试遵循 MVVM 模式。将数据绑定(bind)到 Content 属性似乎要简单得多......

最佳答案

WPF 社区中的许多人都同意内置导航框架已损坏。但是,即使您要使用它,绑定(bind) Content 属性也不是正确的方法。如果你想将 MVVM 与导航结合使用,你应该将它与 FrontController 模式结合起来,在这种模式中,ViewModel 将导航请求分派(dispatch)给 Controller ,然后 Controller 会为你解析该请求。这个概念的例子并不多,因为(正如我之前提到的)许多开发人员都使用 WPF 的内置导航。

如果您想查看一个非常强大的 WPF 导航引擎,look at nRoute它是 MVC 路由引擎到 WPF 的一个端口。

关于wpf - 您可以将数据绑定(bind)与 WPF 框架的 Content 属性一起使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2700796/

相关文章:

c# - 在 WPF 中将有符号整数显示为无符号

c# - 创建登录屏幕,WPF,如何存储用户名和密码

wpf - 为 ListView WPF 创建图标 View 模式

wpf - 如何在BackgroundWorker中创建WPF窗口?

android - 我的属性始终是MVVM模型中的默认值

c# - 从 Windows Phone 8.1 通用应用程序的 View 模型导航到新页面

c# - 找不到引用 'RelativeSource FindAncestor, AncestorType=' System.Windows.Controls.UserControl',AncestorLevel ='1'' 的绑定(bind)源

javascript - 在导航中突出显示链接

javascript - 使用 Facebook 等模式确认离开页面的导航?

javascript - 导航栏和轮播配件