【问题标题】:MVVMCross using Frame to have multiple Views on the same View - Biding dosen't workMVVMCross 使用 Frame 在同一个视图上有多个视图 - 绑定不起作用
【发布时间】:2021-10-09 13:09:22
【问题描述】:

我试图让 MVVMCross WPF 应用程序以特定方式运行,在同一个“大视图”中有多个视图。似乎 Cross 并不是真的被设计成这样使用的,但还是让我们尝试一下吧。所以到目前为止我所做的是使用将两个视图添加到同一个容器“MainView”中。

一个 MainView 和另外两个 Views 添加为框架: https://i.stack.imgur.com/kSXVA.png

<Frame Grid.Row="0" Grid.Column="0" Source="XMLFileView.xaml" Margin="5"/>
<Frame Grid.Row="0" Grid.Column="1" Source="BinaryFileView.xaml" Margin="5" />

这个丑陋的东西是框架内有两个视图的 MainView。视图本身可以正常工作,但是当通过 Frame 添加时,“MVVM 绑定魔法”会丢失,并且 ViewModelView 会失去连接。

如何手动将多个 ModelView 添加到我的 MainView? 或者也许有更好的方法可以同时显示多个视图,建议?

【问题讨论】:

标签: wpf mvvm viewmodel mvvmcross


【解决方案1】:

XMLFileView.xaml 是用户控件吗?如果是,您可以直接使用用户控件并设置 DataContext,例如

<controls:XMLFileView DataContext="{Binding RelativeSource={RelativeSource AncestorType=Window}, Path=DataContext}" />

more information

如果没有,那么最好按照here使用DataTemplate

【讨论】:

    猜你喜欢
    • 2016-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-09
    • 2013-10-20
    • 1970-01-01
    • 2015-08-09
    • 2021-07-25
    相关资源
    最近更新 更多