2017-05-30 120 views
0

获得清晰的视图。 我正在使用MvvMCross与UWP。数据透视带有视图的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的TabPage的对象,所以我的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> 

我的TabPages用的标题是正确的所示。不过,我希望视图的内容在PivotItem中加载。

  • 我试着渲染导航到每个项目的视图,但 没有工作。
  • 也尝试(同时呈现)来设置内容。我可以创建 视图并绑定ViewModel,但设置Content时只有 显示对象的名称而不是xaml控件。
  • 并与用户控件尝试,但每个观点都有自己的是如此背景下并没有在所有

的工作是可以将其设置为PivotItem的看法? (使用MvvmCross offcourse!) 或者通过dataitem模板的格式推送内容?

回答

0

你为什么要使用框架?

您可以使用ContentControl来显示页面,但不是那种简单的方法。

我做到了用另一种框架之前,但它可能是相似的:

您可以使用一个ContentControl中和行为 在行为只是创建一个属性也可能是要显示视图页面的名称在里面,在代码中创建视图的实例和视图的视图模型,使用View和ViewModel(使用DataContext属性)进行绑定,最后将这个视图注入到ContentControl的内容中。

如果您真的想使用Frame,则解决方案非常相似。

+0

thx为您的答复,明天我会试一试。让你知道它是否有效! –