有谁知道为什么这个绑定会导致WPF设计器出错? (“调用的目标引发了异常。”)
XAML(部分):
<Window xmlns:local="clr-namespace:MyAppNamespace">
<DataGrid ItemsSource="{Binding Source={x:Static local:Clients.Instance},
Path=ClientList}" />
</Window>
C#:
namespace MyAppNamespace
{
public sealed class Clients
{
// Singleton pattern
public static readonly Clients Instance = new Clients();
private Clients() { }
static Clients()
{
clientList = new ObservableCollection<Client>();
PopulateClientList();
}
private static ObservableCollection<Client> clientList;
public static ObservableCollection<Client> ClientList
{
get { return clientList; }
set { clientList = value; }
}
public static void PopulateClientList()
{
// .. load client data from xml
}
public class Client
{
// ... expose public properties for fields in provided xml element
}
}
}
答案 0 :(得分:2)
我敢打赌PopulateClientList()中有一些代码在从AppDomain运行时失败,设计者正在运行代码。
如果您正在从文件加载XML,那么物理路径可能不在相同的相对位置或类似的位置。
答案 1 :(得分:1)
尝试用“clr-namespace:MyAppNamespace; assembly =”添加程序集替换include语句。你不必输入程序集名称。这是视觉工作室的一个错误。