带有Prism MasterPage的IconNavigationPage

时间:2017-11-08 21:42:25

标签: android xamarin xamarin.forms prism

我正在开发一个xamarin表单项目。我使用 iconize nuget作为我的图标。要在栏中使用图标,我必须使用 IconNavigationPage 。现在我想在我的Prism主页面上使用 IconNavigationPage ..

我检查过, IconNavigationPage 继承自导航页面,所以我从PrismTemplate创建了一个新的NavigationPage,并且我编辑继承自IconNavigation。

这就是我做的

<IconNavigationPage xmlns="http://xamarin.com/schemas/2014/forms"
            xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
            xmlns:prism="clr-namespace:Prism.Mvvm;assembly=Prism.Forms"
            prism:ViewModelLocator.AutowireViewModel="True"
            x:Class="Fixmyplacemobileapp.Views.MyNavigation">

添加我收到此错误

 'IconNavigationPage' does not exist in the namespace 'Xamarin.Forms' (are you missing an assembly reference?)  

我安装了nuget,我在哪里引用它。

2 个答案:

答案 0 :(得分:2)

错误应该告诉你你做错了什么。您正在尝试引用Xamarin.Forms命名空间中不存在的Type。您可能会在App.xaml中注意到Prism的命名空间声明,以便它可以引用PrismApplication。你必须做同样的事情来引用IconNavigationPage的正确命名空间/程序集。

那说你不应该需要它。您应该能够简单地注册IconNavigationPage(&amp; in Prism 7.0 IconTabbedPage)进行导航。我建议你看一下圣地亚哥Xamarin Meetup的这个example,其中包括IconPages的样本以及使用MasterDetailPage,TabbedPage和NavigationPage with Prism

答案 1 :(得分:0)

您还需要更改页面背后的代码:

使用Xamarin.Forms;

namespace Fixmyplacemobileapp.Views
{
    public partial class MainPage : IconNavigationPage
    {
        public MyNavigation()
        {

重要部分是公共部分类MyNavigation:IconNavigationPage

确保你还在你的pcl,android和ios项目中添加了nuget