WPF设计器代码不断告诉我错误

问题描述

| 这是我的Form XAML代码
<Window x:Class=\"Bail.MainWindow\"
        xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"
        xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"
        xmlns=\"clr-namespace:Bail\"
        Title=\"MainWindow\" Height=\"768\" Width=\"1024\" WindowStartupLocation=\"CenterScreen\"
        Closing=\"Window_Closing\" ResizeMode=\"noresize\">
    <Grid>
        <Grid.Resources> 
            <src:ListBoxMenuItems x:Key=\"ListBoxMenuItems\"/>
        </Grid.Resources>
        <Grid.ColumnDeFinitions>
            <ColumnDeFinition Width=\"185\" />
            <!-- Or Auto -->
            <ColumnDeFinition Width=\"*\" />
        </Grid.ColumnDeFinitions>


        <ListBox Width=\"150\" Margin=\"0,5,10\" Grid.Column=\"0\"
                 ItemsSource=\"{StaticResource ListBoxMenuItems}\">
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <StackPanel Orientation=\"Horizontal\">
                        <TextBlock Padding=\"5,0\" Text=\"{Binding FirstName}\" />
                        <TextBlock Text=\"{Binding LastName}\" />
                        <TextBlock Text=\",\" />
                        <TextBlock Text=\"{Binding Address}\" />
                    </StackPanel>
                </DataTemplate>
            </ListBox.ItemTemplate>            
        </ListBox>


        <Canvas Grid.Column=\"1\" />
    </Grid>
</Window>
这是错误 更正xmlns:src后,我得到以下信息 警告: 警告1 \'\'src \'是未声明的前缀。第8行,位置14。XML无效。 C:\\ Users \\ Shayaan Siddiqui \\ Documents \\ Bail \\ Bail \\ Bail \\ MainWindow.xaml 8 14保释 ListBoxMenuItems是我在C#中创建的一个类。 这是课程的代码
//FileName: ListBoxMenuItems.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Bail
{
    public class ListBoxMenuItem
    {
        public String FirstName { get; set; }
        public String LastName { get; set; }
        public String Address { get; set; }

        public ListBoxMenuItem(String firstName,String lastName,String address)
        {
            this.FirstName = firstName;
            this.LastName = lastName;
            this.Address = address;
        }
    }

    class ListBoxMenuItems 
    { 
        List<ListBoxMenuItem> Items { get; private set; } 
        public ListBoxMenuItems() 
        { 
            Items = new List<ListBoxMenuItem>(); 
            Items.Add(new ListBoxMenuItem(\"Michael\",\"Anderberg\",\"12 north Third Street,Apartment 45\")); 
            Items.Add(new ListBoxMenuItem(\"Chris\",\"Ashton\",\"34 West Fifth Street,Apartment 67\")); 
            Items.Add(new ListBoxMenuItem(\"Cassie\",\"Hicks\",\"56 East Seventh Street,Apartment 89\")); 
            Items.Add(new ListBoxMenuItem(\"Guido\",\"Pica\",\"78 South Ninth Street,Apartment 10\")); 
        } 
    }
}
    

解决方法

        您在
Window
标记中缺少名称空间声明:
<window x:Class=\"Bail.MainWindow\" 
        xmlns:src=\"clr-namespace:Bail\" 
        .../>
另外,如果您已更改对象名称以最后删除\“ s \”,则也需要在xaml中进行更改。
<Grid.Resources> 
    <src:ListboxMenuItem x:Key=\"ListboxMenuItems\"/> 
</Grid.Resources>
    ,        xmlns:src = \“ clr-namespace:ListBoxSnippetEx \” 您的代码中缺少此行。将ListBoxSnippetEx替换为项目名称空间。     ,        您还获得了额外的<字符行8:
    <Grid.Resources> 
        < 
        <src:ListboxMenuItems x:Key=\"ListboxMenuItems\"/>