在 Xamarin.Forms 中创建 MasterDetailPage 菜单项的最佳方法是什么

What is the best way to create the MasterDetailPage menu items in Xamarin.Forms

我在 Xamarin.Forms 应用程序中使用 MasterDetailPage。

要创建菜单项,我使用按钮

<MasterDetailPage.Master>
    <ContentPage Title="Menu">
        <StackLayout Orientation="Vertical">
            <Button Text="Club-House" Command="{Binding ClubHouseCommand}" />
            <Button Text="Parcours" />
            <BoxView VerticalOptions="CenterAndExpand" />
            <Button Text="A propos" Command="{Binding AProposCommand}" VerticalOptions="End" />
        </StackLayout>
    </ContentPage>
</MasterDetailPage.Master>

有更好的方法吗?我正在考虑更多 menuish 的东西,比如 MenuItem 或其他。

谢谢

在母版页中实现菜单没有任何标准。

您可以使用

  1. 列表视图
  2. 堆栈布局
  3. 网格

或组合。 StackLayout 和 ListView 很可能是您的最佳选择。我个人选择 StackLayout,因为它比 ListView 编码和呈现更快,这可能带来的问题多于优点。但是,如果我有一个大菜单(我尽量避免),ListView 可能会更快地编写代码。但是 ListView 通常用于动态加载数据,而不是静态数据。

至于元素,最常见的是

  1. 按钮
  2. 标签

虽然按钮是为点击而设计的,但有时如果我不想撤消所有默认样式并使用 TapGestureRecognizer,我会转到标签。

您可以为菜单项创建一个新的用户控件,以避免代码复制。

都起来了,没有标准。使其易于编码和理解,并快速呈现。具体如何操作取决于您的要求。