2016-07-03 17 views
0

我是一個完整的noob to xamarin :)在棱鏡中使用masterdetailview實現UWP彈出splitview?

所以想知道是否有人可以指我正確的資源。

簡而言之,我想使用Xamarin MasterDetailPage在棱鏡中實現類似this的東西。

使用主細節示例here,漢堡包菜單不起飛。

<MasterDetailPage xmlns="http://xamarin.com/schemas/2014/forms" 
      xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
        xmlns:prism="clr-namespace:Prism.Mvvm;assembly=Prism.Forms" 
       prism:ViewModelLocator.AutowireViewModel="True" 
      x:Class="HelloWorld.Views.MyMasterDetail"> 

    <MasterDetailPage.Master> 
    <ContentPage Title="Default"> 
     <StackLayout> 
     <Button Text="ViewA" Command="{Binding NavigateCommand}" CommandParameter="MyNavigationPage/ViewA?id=A" /> 
     <Button Text="ViewB" Command="{Binding NavigateCommand}" CommandParameter="MyNavigationPage/ViewB?id=B" /> 
     <Button Text="ViewC" Command="{Binding NavigateCommand}" CommandParameter="MyNavigationPage/ViewC?id=C" /> 
     </StackLayout> 
    </ContentPage> 
    </MasterDetailPage.Master> 

</MasterDetailPage> 

眼下,雖然有足夠的空間,它表明類似

(只作爲樣本,我沒有使用SplitViewMenu在所有)

enter image description here

我需要圖標/一些小文本才能最初顯示,點擊漢堡包時,它應該擴展(你知道就像第一個鏈接/槽音樂應用程序的行爲)。 enter image description here

提示?

回答

0

眼下,雖然有足夠的空間,它表明類似

以我的經驗,如果你已經指定符號屬性SimpleNavMenuItem,可能的原因是你沒有導入主題文件Generic.xamlThemes文件夾 enter image description here

此文件包含模板,樣式自定義控件。例如,對於NavMenuItem的模板,FontIcon的Glyph屬性需要正確這裏分配:

<DataTemplate x:Key="NavMenuItemTemplate"> 
     <Grid> 
      <Grid.ColumnDefinitions> 
       <ColumnDefinition Width="48" /> 
       <ColumnDefinition /> 
      </Grid.ColumnDefinitions> 
      <FontIcon FontSize="16" Glyph="{Binding Path=SymbolAsChar}" VerticalAlignment="Center" 
         HorizontalAlignment="Center" ToolTipService.ToolTip="{Binding Path=Label}" /> 
      <TextBlock Grid.Column="1" Text="{Binding Path=Label}" VerticalAlignment="Center" /> 
     </Grid> 
    </DataTemplate> 

雖然SimpleNavMenuItem類的SymbolAsChar屬性基於Symbol的價值:

public sealed class SimpleNavMenuItem : INavigationMenuItem 
{ 
     ...... 
     public Symbol Symbol { get; set; } 
     public char SymbolAsChar => (char) Symbol; 
     ...... 
} 

如果你仍然可以使它的工作,請分享演示:)

+0

對不起,看起來我不清楚?我沒有使用SplitViewMenu,我嘗試使用提供的示例棱鏡工作,只有原因,我包括splitviewmenu是演示,我會編輯的問題,使其更清晰。 – Yash

+0

您能否提供一個關於如何使用使用原生SplitView的自定義MasterDetailPageRenderer示例的示例?如果沒有,希望Xamarin將在下一個版本中發佈這個控件。 –

0

我一直在尋找這樣的事情,因爲我無法隱藏MasterDetailPage的母版頁中顯示的NavigationBar,當我在Windo上運行它時ws 10移動設備(儘管我可以隱藏PC)。所以基本上,我正在研究最終構建我自己的MasterDetailPage版本。

因爲我還沒有建立它,我不能確切地告訴你如何實現你問什麼,但我知道它會要求你可以:

  1. 編寫自己的定製渲染MasterDetailView或
  2. 寫一個新的控制和渲染

在這兩種情況下,你的渲染器將包括創建和操縱一個新的SPLITVIEW(這是你的SplitViewMenu例子是擴大本地UWP控制)。有一個用於創建實際UWP控制的教程here。如果您還沒有了解Xamarin的渲染器,他們是Xamarin.Forms控件和給定平臺本機控件之間的「翻譯器」和「解釋器」。我懷疑Xamarin會最終爲UWP重寫他們的MastDetailPage渲染器,以使用SplitView作爲基礎,但誰知道這將是什麼時候。 Xamarin還爲GitHub上的Xamarin.Forms(以及其他)開放源代碼SDK,因此您可以研究用於UWP的MasterDetailPageRenderer。