Avalondock MVVM
在 MVVM 环境中使用 avalondock 似乎相当具有挑战性。一旦我从 shellview 中分离 DocumentPane,我就会丢失相应的数据上下文,并且我的视图为空。重新连接后,又恢复正常。
有人有解决办法吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
在 MVVM 环境中使用 avalondock 似乎相当具有挑战性。一旦我从 shellview 中分离 DocumentPane,我就会丢失相应的数据上下文,并且我的视图为空。重新连接后,又恢复正常。
有人有解决办法吗?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(1)
这是我目前使用的;我的应用程序有几个可停靠窗格,每个窗格都有自己的视图模型。这些视图模型作为主窗口视图模型的属性公开,这也是主窗口的 DataContext。诀窍是使用静态 Application.Current 实例的 MainWindow.DataContext 来引用该数据上下文。
例如:
MainWindow 的 xaml:
虽然不确定大型模块化应用程序的效果如何,但我已经看到 示例应用程序与 Sofa(AvalonDock 包装器)一起使用,因此您可能想了解一下他们是如何做到的。
Here's what I use currently; my app hase a couple of dockable panes, each having their own viewmodel. These viewmodels are exposed as properties from the main window's viewmodel, which is also the DataContext of the main window. The trick is to refer to that datacontext using the static Application.Current instance's MainWindow.DataContext.
For example:
MainWindow's xaml:
Not sure how this works out for large modular applications though, but I've seen a sample application in Prism being used with Sofa (an AvalonDock wrapper) so you might want to check out how they did it.