Xamarin.Forms应用程序的操作栏中的按钮?

时间:2015-04-06 19:16:25

标签: xamarin.forms

是否有一种Xamarin.Forms方法可以在操作栏/导航项中添加按钮(不需要使用特定于平台的代码)?

2 个答案:

答案 0 :(得分:10)

如果通过操作栏/导航表示顶部的导航栏,则可以使用此方法:

private void ShowToolbar()
{
if (Device.OS == TargetPlatform.iOS)
{
    // move layout under the status bar
    this.Padding = new Thickness(0, 20, 0, 0);

    toolbarItem = new ToolbarItem("Sync", "sync_icon.png", () =>
    {
        //if (!response)
        //{
        //    response = true;
        SyncService();
        //}
        //else
        //    return;
    }, 0, 0);
    ToolbarItems.Add(toolbarItem);
}

if (Device.OS == TargetPlatform.Android)
{

    toolbarItem = new ToolbarItem("Sync", "sync_icon.png", () =>
    {
        //if (!response)
        //{
        SyncService();
        //}
        //else
        //    return;
    }, 0, 0);
    ToolbarItems.Add(toolbarItem);

}

if (Device.OS == TargetPlatform.WinPhone)
{
    toolbarItem = new ToolbarItem("Sync", "sync_icon.png", () =>
    {
        //if (!response)
        //{
        //    response = true;
        SyncService();
        //}
        //else
        //    return;
    }, 0, 0);
    ToolbarItems.Add(toolbarItem);
    }
}

答案 1 :(得分:1)

在MainPage.xaml中,您可以添加以下代码。

<ContentPage.ToolbarItems>
    <ToolbarItem Text="Click Me!" Icon="iconName.png" Clicked="ToolbarItem_Clicked"/>
</ContentPage.ToolbarItems>

现在,在MainPage.xaml.cs中,单击处理程序应添加。

public partial class MainPage : ContentPage
{
    public MainPage()
    {
        InitializeComponent();
    }

    private async void ToolbarItem_Clicked(object sender, EventArgs e)
    {
        await Navigation.PushAsync(new NewPage());
    }
}

要进行导航,App.xaml.cs中的构造函数应包含以下代码。

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