问题描述
|
这是我的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\"/>