WPF设计器代码一直告诉我存在错误

本文关键字:告诉我 存在 错误 一直 代码 WPF | 更新日期: 2023-09-27 17:59:18

这是我的表单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,0,10" Grid.Column="0"
                 ItemsSource="{StaticResource ListboxMenuItems}">
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal">
                        <TextBlock Padding="5,0,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"rc"是未声明的前缀。第8行,位置14。"XML无效。"。C: ''Users''Shayaan Siddiqui''Documents''Bail''Bail''MainWindow.xaml 8 14 Bail

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")); 
        } 
    }
}

WPF设计器代码一直告诉我存在错误

xmlns:src="clr namespace:ListBoxSnippetEx"

您的代码中缺少这一行。将ListBoxSnippetEx替换为您的项目命名空间。

Window标记中缺少一个命名空间声明:

<window x:Class="Bail.MainWindow" 
        xmlns:src="clr-namespace:Bail" 
        .../>

此外,如果您更改了对象的名称以删除末尾的"s",则还需要在xaml中更改该名称。

<Grid.Resources> 
    <src:ListboxMenuItem x:Key="ListboxMenuItems"/> 
</Grid.Resources>

您还有一个额外的<字符行8:

    <Grid.Resources> 
        < 
        <src:ListboxMenuItems x:Key="ListboxMenuItems"/>