WPF DataBind 到另一个项目中的 class
WPF DataBind to class in another project
我在发布这个问题之前进行了搜索,尽管有类似的问题,但我仍然遇到错误:标签 'Customers' 在 XML 命名空间 'BusinessObjects' 中不存在。
namespace BusinessObjects
{
public class Customers
{
public class Customer
{
public string CustomerId { get; set; }
}
ObservableCollection<string> CustomerIds { get; set; }
public Customers()
{
// populate CustomerIds
}
}
}
我的XAML
<UserControl xmlns:BusObj="BusinessObjects">
<UserControl.DataContext>
<BusObj:Customers />
</UserControl.DataContext>
<ListView ItemsSource="{Binding CustomerIds}"/>
</UserControl>
当您引用在不同程序集中定义的 类 时,您必须在声明 XML 命名空间时提供程序集名称:
<UserControl xmlns:BusObj="clr-namespace:BusinessObjects;assembly=AssemblyName">
其中 AssemblyName
是程序集的名称,通常只是包含代码的项目的名称。
我在发布这个问题之前进行了搜索,尽管有类似的问题,但我仍然遇到错误:标签 'Customers' 在 XML 命名空间 'BusinessObjects' 中不存在。
namespace BusinessObjects
{
public class Customers
{
public class Customer
{
public string CustomerId { get; set; }
}
ObservableCollection<string> CustomerIds { get; set; }
public Customers()
{
// populate CustomerIds
}
}
}
我的XAML
<UserControl xmlns:BusObj="BusinessObjects">
<UserControl.DataContext>
<BusObj:Customers />
</UserControl.DataContext>
<ListView ItemsSource="{Binding CustomerIds}"/>
</UserControl>
当您引用在不同程序集中定义的 类 时,您必须在声明 XML 命名空间时提供程序集名称:
<UserControl xmlns:BusObj="clr-namespace:BusinessObjects;assembly=AssemblyName">
其中 AssemblyName
是程序集的名称,通常只是包含代码的项目的名称。