【发布时间】:2017-10-31 02:23:16
【问题描述】:
为了获得清晰的视图。 我正在将 MvvMCross 与 UWP 一起使用。
父模型
public class TabHost : MvxViewModel
{
private IList<TabPage> _tabPages;
public IList<TabPage> TabPages
{
get { return _tabPages; }
set
{
_tabPages = value;
RaisePropertyChanged(() => TabPages);
}
}
}
标签页对象
public class TabPage
{
public string Title {get;set;}
public Type ViewModelType {get;set;}
}
我创建了一个名为 TabControl 的 Pivot 覆盖,所以我的 xaml 是这样的:
<controls:TabControl x:Name="TabHostControl" ItemsSource="{Binding TabPages}">
<controls:TabControl.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding Title}" Foreground="White"/>
</DataTemplate>
</controls:TabControl.HeaderTemplate>
<controls:TabControl.ItemTemplate>
<DataTemplate>
<Frame x:Name="ViewToLoad" />
</DataTemplate>
</controls:TabControl.ItemTemplate>
</controls:TabControl>
我的带有标题的标签页正确显示。但是我希望将视图的内容加载到 PivotItem 中。
- 我尝试在渲染时将每个项目导航到视图,但是 没用。
- 还尝试(在渲染时)设置内容。我能够创造 视图并绑定 ViewModel,但仅在设置内容时 显示对象的名称,而不是 xaml 控件。
- 并尝试使用 UserControls,但每个视图都有自己的上下文,所以根本不起作用
是否可以为 PivotItem 设置视图? (使用 MvvmCross 课程!) 还是通过数据项模板的格式推送内容?
【问题讨论】:
标签: xaml xamarin uwp mvvmcross uwp-xaml