【发布时间】:2017-10-19 07:08:22
【问题描述】:
我正在开发一个 Xamarin Forms 项目,其中我有一个屏幕分为 2 个部分,在一个视图中(比如 DashBoardView.Xaml)。一方面是有一些菜单选项,另一方面我想在单击菜单选项时加载不同的视图。 具有不同 ViewModel 注册的动态视图(使用 XLABS MVVM)ViewFactory。
DashBoardView.Xaml
<Grid>
<Grid ColumnSpacing="0" RowSpacing="0" BackgroundColor="#404040">
// menu options having Command binded in DashboardViewModel
</Grid>
<ContentView Grid.Row="0" Grid.Column="1" BackgroundColor="White"
Content="{Binding DashboardDetailView}">
// views are binded with DashboardDetailView
// views are loaded dynamically to DashboardDetailView
(bindable property) using new Keyword when menu option
command is executed.
</ ContentView>
</Grid>
DashBoardViewModel.CS
private Command _dashboardMenuOptionCommand;
public Command DashboardMenuOptionCommand
{
get
{
return _ dashboardMenuOptionCommand?? (_dashboardMenuOptionCommand = new Command(() => {
DashboardDetailView = new ABCView();
}));
}
}
注意:ABCView 是使用 xLab 的 ViewFactory 向 ABCViewModel 注册的 Xaml 视图
问题:问题是 ABCView 正在加载,但没有发生用户交互,因为没有调用绑定到 ABCViewModel 中标签的命令。是不是我做错了什么,或者有没有更好或优化的方法来实现同样的目标? 请找到随附的屏幕截图以供参考。 DashboardView.xaml
【问题讨论】:
-
我更喜欢使用 MVVMCross。它拥有更活跃的社区。span>
标签: c# xamarin.android xamarin.forms mvvmcross xlabs