Xaml Xamarin表单-在工具栏项中显示取消按钮而不是返回(iOS)

Xaml Xamarin表单-在工具栏项中显示取消按钮而不是返回(iOS),xaml,xamarin.forms,Xaml,Xamarin.forms,我想将iOS上导航栏中的标准Back按钮更改为Cancel按钮,就像iOS中的“New contact”(新联系人)屏幕一样。 我正在使用Xamarin表单 编辑: 模态的XAML <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="Xrm.M

我想将iOS上导航栏中的标准
Back
按钮更改为
Cancel
按钮,就像iOS中的“New contact”(新联系人)屏幕一样。
我正在使用
Xamarin表单

编辑:

模态的XAML

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" 
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
             x:Class="Xrm.Mca.Views.MyModalView">

    <ContentPage.ToolbarItems>
            <ToolbarItem x:Name="Cancel" Text="Cancel" ></ToolbarItem>  
            <ToolbarItem x:Name="Save" Text="Save" ></ToolbarItem>  
    </ContentPage.ToolbarItems>

    <ContentPage.Content>

        <TableView Intent="Form">
            <TableRoot>
                <TableSection Title="Details">
                    <EntryCell Label="Name" Placeholder="Entry your name" />
                    <EntryCell Label="Age" Placeholder="Entry your age" />
                </TableSection>
            </TableRoot>
        </TableView>

    </ContentPage.Content>

</ContentPage>

在执行导航推送的页面的构造函数中执行以下操作。这将适用于推送到堆栈上的所有页面

NavigationPage.SetBackButtonTitle(this, "Cancel");

当这是内容页(或任何类型的页面)时,实现请求的标准惯例当然是使用。您可以在上找到将工具栏项应用于页面的示例

如果你需要一个更具体的例子,请告诉我


用示例更新

这两个工具栏项目希望如此:

var cancelItem = new ToolbarItem
{
    Text = "Cancel"
};

var doneItem = new ToolbarItem
{
    Text = "Done"
};
现在,您可以将以下内容添加到视图中:

this.ToolbarItems.Add(cancelItem);
this.ToolbarItems.Add(doneItem);
您甚至可以绑定CommandProperty:

doneItem.SetBinding(MenuItem.CommandProperty, "DoneClicked");
或者在用户点击项目时简单地处理事件:

doneItem.Clicked += (object sender, System.EventArgs e) => 
{
    // Perform action
};
请记住,否则将不会显示工具栏项


希望这有帮助。

我将此代码包含在构造函数中,但不起作用。我的视图构造函数仅包含bindingContext、代码和InitializeComponent()。你有进一步的想法吗?我读过一些Xamarin形式的东西,这是不可能的…谢谢。我已经在显示模式,现在我正在努力将工具栏项目添加到屏幕顶部。我想添加“取消”和“完成”,我已经用一个代码示例更新了我的答案。请记得投票支持我的答案,如果它对你有帮助,请将其标记为“接受”。谢谢。只是一个简短的问题,@gjfonte:您需要Xaml或代码隐藏(C#)方面的帮助吗?如果您在问题中更清楚地说明了这一点,而不是简单地标记“xaml”,那就好了,只是一个简短的提示:如果您的模式没有包装在导航页面中,您的工具栏项目将不会显示:感谢David的提示和建议。我已经编辑了我的问题,包括视图示例。我现在如何将
取消
按钮移到左侧?@gjfonte不幸的是,Xamarin目前不支持这一点,但是,希望我们能看到表单的未来版本发生变化。目前,唯一要做的就是制作一个自定义渲染器,正如上面讨论中所建议的那样。祝你好运
doneItem.Clicked += (object sender, System.EventArgs e) => 
{
    // Perform action
};