工具栏项目未以 xamarin 形式显示

Posted

技术标签:

【中文标题】工具栏项目未以 xamarin 形式显示【英文标题】:Toolbar item not showing in xamarin forms 【发布时间】: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>

【问题讨论】:

【参考方案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 等等。

【讨论】:

以上是关于工具栏项目未以 xamarin 形式显示的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin 社区工具包 StateLayout 未显示

(Xamarin Forms)从“主页”导航到任何页面时如何显示工具栏?

Xamarin 社区工具包弹出 MVVM 绑定问题

Xamarin Forms:iOS 中的内容页面辅助工具栏项与 Android 相同

如何在 xamarin 的工具栏项中添加图标?

如何在 Xamarin 表单中设置工具栏项的图标