【发布时间】:2011-03-01 19:04:18
【问题描述】:
我正在尝试将组合框项目源绑定到静态资源。我过度简化了我的例子,以便很容易理解我在做什么。
所以我创建了一个类
public class A : ObservableCollection<string>
{
public A()
{
IKBDomainContext Context = new IKBDomainContext();
Context.Load(Context.GetIBOptionsQuery("2C6C1Q"), p =>
{
foreach (var item in SkinContext.IKBOptions)
{
this.Add(item);
}
}, null);
}
}
因此,该类有一个构造函数,该构造函数使用从持久数据库获取数据的域上下文来填充自身。我只是在这个列表上做阅读,所以不必担心坚持回来。
在 xaml 中,我添加对此类命名空间的引用,然后将其作为 usercontrol.resources 添加到页面控件中。
<UserControl.Resources>
<This:A x:Key="A"/>
</UserControl.Resources>
然后我使用它这个静态资源将它绑定到我的组合框项目源。实际上我必须使用数据模板来正确显示这个对象,但我不会在这里添加。
<Combobox ItemsSource="{StaticResource A}"/>
现在当我在设计器中时,我得到了错误:
无法创建“A”的实例。
如果我编译并运行代码,它运行得很好。这似乎只影响 xaml 页面的编辑。
我做错了什么?
【问题讨论】:
标签: silverlight data-binding silverlight-4.0