2017-05-30 130 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爲您的答覆,明天我會試一試。讓你知道它是否有效! –