【问题标题】:Toolbar item not showing in xamarin forms工具栏项目未以 xamarin 形式显示
【发布时间】:2014-12-26 02:28:56
【问题描述】:

我对 Xamarin 表单非常陌生。 我正在尝试将工具栏项添加到内容页面。

我使用 IPAD Air 作为部署设备,并且还使用了服务器 iPhone/ipad 模拟器。 我参考了 XamarinForms-Mobile App pdf 文档。虽然它是基本的,但我不确定,为什么我无法在设备中看到它。请帮助我在哪里犯了错误。

public partial class SamplePage : ContentPage   
{
    public SamplePage()
    {
        //Toolbar items
            ToolbarItem scanItem = new ToolbarItem ();
            scanItem.Name = "Scan";
            scanItem.Order = ToolbarItemOrder.Primary;

            ToolbarItem settingsItem = new ToolbarItem ();
            settingsItem.Name = "Settings";
            settingsItem.Order = ToolbarItemOrder.Primary;

            ToolbarItems.Add (scanItem);
            ToolbarItems.Add (settingsItem);
    }
}

App.cs

public class App
    {
        public static Page GetMainPage ()
        {   
            return new SamplePage ();
        }
    }

也尝试过 xaml 方法。但没有结果。内容页为空白。

<?xml version="1.0" encoding="UTF-8"?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="BLE_Core.BLECorePage">
    <ContentPage.Content>
    </ContentPage.Content>
    <ContentPage.ToolbarItems>
        <ToolbarItem Name = "Scan"></ToolbarItem>
        <ToolbarItem Name = "Settings"></ToolbarItem>
   </ContentPage.ToolbarItems>
</ContentPage>

【问题讨论】:

    标签: ios xamarin.ios xamarin xamarin.forms xamarin.mac


    【解决方案1】:

    如果您的应用没有工具栏,您的 ToolbarItems 将不会显示。添加一个最简单的方法是将页面包装在 NavigationPage 中

    public static Page GetMainPage ()
    {   
      return new NavigationPage(new SamplePage ());
    }
    

    【讨论】:

    • 感谢杰森。我无法让那个确切的功能正常工作,但这确实为我显示了工具栏: public App () { MainPage = new NavigationPage( new MyAppName.MyPage () ); }
    • 如果我的页面有非空构造函数怎么办?
    • 只需传入构造函数所需的参数
    • 我不明白我必须把它放在哪里。你的评论现在让我明白了。谢谢。
    【解决方案2】:

    只是想为此添加一个边缘案例,这让我疯狂了几个小时。我一直在 Visual Studio 之外添加图标,并尝试在我的 Xamarin 表单应用程序中将它们作为工具栏图标引用。在测试 Android 应用程序时,我引用的工具栏图标不会显示。我终于发现图标根本没有打包在 .APK 文件中。为什么?我忘记将它们包含在 Visual Studio 项目中。解决方案资源管理器 -> 单击项目 -> 单击解决方案资源管理器标题栏中的显示所有文件图标。然后会出现图标文件,因此只需右键单击它们并为每个文件选择包含在项目中。 Doh...gnash...gnash 等等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-28
      • 2022-06-16
      • 2019-02-10
      • 2018-01-27
      • 2012-09-16
      • 1970-01-01
      • 2016-01-09
      • 1970-01-01
      相关资源
      最近更新 更多