首页 > 解决方案 > 如何使 CommandBar 在 Xamarin Forms UWP 中呈现?

问题描述

我有一个定义了 ToolbarItems 的 ContentPage(实际上是一个 MvxContentPage)。项目按预期出现在 Android 和 iOS 中,但根本不出现在 UWP 中。我尝试在构造函数和 OnAppearing 方法中手动将 SetToolbarPlacement 设置为 Top 和 Bottom。到目前为止,我无法影响 UWP 应用程序中的任何更改。难道我做错了什么?Mvx 不能渲染工具栏吗?

<mvx:MvxContentPage
    xmlns:mvx="clr-namespace:MvvmCross.Forms.Views;assembly=MvvmCross.Forms"
    x:TypeArguments="viewModels:CategoryListViewModel"
    xmlns:viewModels=""
    xmlns="http://xamarin.com/schemas/2014/forms"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    x:Class="GSP.X.AccuStore.Forms.Views.Site.Profiles.CategoryListView">

    <ContentPage.ToolbarItems>
        <ToolbarItem Text="Areas" Command="{Binding Path=GoToAreasCommand}" />
    </ContentPage.ToolbarItems>

</mvx:MvxContentPage>

标签: xamarin.formsuwpmvvmcross

解决方案


问题是您尚未将起始页添加到 NavigationPage. 我在空白Xamrin.Froms应用程序中使用以下代码进行了测试,ToolbarItem在 MainPage 的顶部显示良好。

public App()
{
    InitializeComponent();
    var nav = new NavigationPage(new MainPage());
    MainPage = nav;
}

推荐阅读