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 是程序集的名称,通常只是包含代码的项目的名称。