我是xamarin的完整菜鸟:)
所以想知道是否有人能指出我正确的资源。
简而言之,我想使用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)
我需要初始显示图标/一些小文字,点击汉堡包时,它应该展开(你知道就像第一个链接/凹槽音乐应用程序行为)。
提示?
答案 0 :(得分:0)
现在,虽然有足够的空间,但它显示的内容类似于
根据我的经验,如果您为SimpleNavMenuItem分配了Symbol属性,可能的原因是您没有在Generic.xaml
文件夹下导入主题文件Themes
此文件包含自定义控件的模板,样式。例如,对于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;
......
}
如果你仍然可以使它工作,请分享一个演示:)
答案 1 :(得分:0)
我自己一直在寻找类似的东西,因为当我在Windows 10移动设备上运行它时,我无法隐藏MasterDetailPage主页面中显示的NavigationBar(我可以隐藏PC虽然)。所以基本上,我正在研究最终构建我自己版本的MasterDetailPage。
由于我还没有构建它,我无法告诉你如何实现你所要求的,但我知道它需要你:
在这两种情况下,渲染器都将涉及创建和操作新的SplitView(这是您的SplitViewMenu示例正在扩展的本机UWP控件)。有一个用于创建实际UWP控件here的教程。如果您还没有了解过Xamarin的渲染器,那么他们就是&#34; Translator&#34;和#34;口译员&#34;在Xamarin.Forms控件和给定平台的本机控件之间。我怀疑Xamarin最终将为UWP重写他们的MastDetailPage渲染器,以使用SplitView作为基础,但谁知道什么时候会这样。 Xamarin还在GitHub上为Xamarin.Forms(以及其他人)提供了一个开源SDK,因此您可以为UWP学习MasterDetailPageRenderer。