【发布时间】:2009-07-21 18:28:52
【问题描述】:
当我将 SubSonic 3 生成的 IQueryable 结果绑定到 WPF ComboBox 或 DataGrid 的 ItemsSource 时,我无法多次更改 ComboBox 或 DataGrid 中的选定项。我正在使用 SubSonic 3.0.0.3 和 ActiveRecord。
这是一个例子:
在我的代码中:
var foo = FooDB.Customer.All();
FooComboBox.ItemsSource = foo;
在我的 xaml 中:
<ComboBox DisplayMemberPath="CustomerName" Name="FooComboBox" />
重现步骤:
- 运行应用程序。请注意,我的 ComboBox 中(最初)没有选择任何项目。
- 单击组合框。下拉列表中显示了多个客户名称。
- 在下拉列表中选择客户名称 X。下拉菜单消失,现在选择 X。
- 再次单击组合框。出现下拉菜单。
- 在下拉列表中选择客户名称 Y。下拉菜单消失,但 X 仍处于选中状态。
提前致谢。
【问题讨论】:
-
更多信息:我写了一个简单的类来包装 SubSonic 生成的 Customer 类(它包含一个属性,它获取/设置一个 Customer 实例),把它放在一个集合中,并分配集合到 ComboBox 的 ItemsSource。有了这个 hack,ComboBox 就可以按预期工作了。但为什么? Customer 类的属性/方法之一是否会导致 ItemsSource 出现问题? (这可能吗?)
标签: wpf combobox subsonic selecteditem