首页 文章

最新的Xamarin表格ver3上面错误:指定的演员表无效

提问于
浏览
0

我使用Vs for mac:7.5.1(Build 22) . 我尝试使用ListView绑定到一个简单的类来构建一个Master Detail页面 .

Problem encountered: 指定的演员表无效 .

在后面的代码中:我对InitializeComponent以及ListView都有红色下划线 . 为什么?

在SideMenu.xaml中:我是否需要添加:xmlns:local =“clr-namespace:MyNavigationSideMenu”

请帮助,我忘记了如何使用标签格式化XML .

谢谢

这里的代码:

MasterDetailPage xmlns =“http://xamarin.com/schemas/2014/forms”

的xmlns:X = “http://schemas.microsoft.com/winfx/2009/xaml”

xmlns:local =“clr-namespace:MyNavigationSideMenu; assembly = MyNavigationSideMenu”

X:类= “MyNavigationSideMenu.MySideMenu”>

<MasterDetailPage.Master>

   <ContentPage Title="Menu">

    <Grid BackgroundColor ="Transparent">                
         <Grid.RowDefinitions>
             <RowDefinition Height ="200"/>
             <RowDefinition Height ="*"/>
         </Grid.RowDefinitions>

         <Grid>
          <Image Source="bg.png" Aspect="AspectFill" />
          <StackLayout Padding="0,20,0,0" HorizontalOptions="CenterAndExpand" VerticalOptions="CenterAndExpand">
          <Image Source="home.png" Aspect="AspectFit" WidthRequest="60" HeightRequest="60" />
          <Label Text="Xamarin Buddy" TextColor="White" FontSize="Large" />
          </StackLayout>
        </Grid>

        <StackLayout Grid.Row="1" Spacing="15">
        <ListView x:Name ="navigationLV"
                  RowHeight ="60"
                  SeparatorVisibility ="None"
                  BackgroundColor ="#e8e8e8"
                  ItemSelected="OnMenuItemSelected">
                <ListView.ItemTemplate>
                   <DataTemplate>
                      <ViewCell>
                          <StackLayout>
                           <StackLayout VerticalOptions="FillAndExpand"
                                      Orientation="Horizontal"
                                      Spacing="20">
                              <Image Source="{Binding Icon}"
                                     WidthRequest="30"
                                     HeightRequest="30"
                                     VerticalOptions="Center"/>

                              <Label Text="{Binding Title}"
                                     FontSize="Medium"
                                     VerticalOptions="Center"
                                     TextColor="Black"/>
                            </StackLayout>
                               <BoxView
                             HeightRequest="1"
                             BackgroundColor="Gray"/>     
                          </StackLayout>
                       </ViewCell>         
                   </DataTemplate>
                </ListView.ItemTemplate>
         </ListView>
        </StackLayout>
     </Grid>  
    </ContentPage>
</MasterDetailPage.Master>

<MasterDetailPage.Detail>        
<NavigationPage>        
</NavigationPage>   
</MasterDetailPage.Detail>

这里是SideMenu背后的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Xamarin.Forms;
using MyNavigationSideMenu.MenuItems;

namespace MyNavigationSideMenu
{
  public partial class MySideMenu : MasterDetailPage  
  {
      public List<MasterPageItem> menuList { get; set; }

     public MySideMenu()
     {
          InitializeComponent();

          menuList = new List<MasterPageItem>();   

// Adding menu items to menuList and you can define title ,page and icon
menuList.Add(new MasterPageItem() { Title = "Home", Icon = "home.png", TargetType = typeof(HomePage) } );


         navigationLV.ItemsSource = menuList;

       // Initial navigation, this can be used for our home page
        Detail = new NavigationPage((Page)Activator.CreateInstance(typeof(HomePage)));
    }

    private void OnMenuItemSelected(object sender, SelectedItemChangedEventArgs e)        
   {
    var item = (MasterPageItem)e.SelectedItem;
    Type page = item.TargetType;
    Detail = new NavigationPage((Page)Activator.CreateInstance(page));
    IsPresented = false;        

      }

    }
}

1 回答

  • 0

    你需要检查所有这三个步骤:

    1.保存MySideMenu.xaml文件并检查红色下划线已经消失 .

    2.右键单击MySideMenu.xaml并单击Properties并选中Build Action应设置为“Embedded resource” .

    3.在MySideMenu.xaml文件中添加Try Catch for Initialize组件并检查错误显示在哪一行 .

相关问题