【问题标题】:SubSonic 3 and WPF ItemsSource (ComboBox, DataGrid) - selected item not updating more than onceSubSonic 3 和 WPF ItemsSource (ComboBox, DataGrid) - 所选项目不更新超过一次
【发布时间】: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" />

重现步骤:

  1. 运行应用程序。请注意,我的 ComboBox 中(最初)没有选择任何项目。
  2. 单击组合框。下拉列表中显示了多个客户名称。
  3. 在下拉列表中选择客户名称 X。下拉菜单消失,现在选择 X。
  4. 再次单击组合框。出现下拉菜单。
  5. 在下拉列表中选择客户名称 Y。下拉菜单消失,但 X 仍处于选中状态。

提前致谢。

【问题讨论】:

  • 更多信息:我写了一个简单的类来包装 SubSonic 生成的 Customer 类(它包含一个属性,它获取/设置一个 Customer 实例),把它放在一个集合中,并分配集合到 ComboBox 的 ItemsSource。有了这个 hack,ComboBox 就可以按预期工作了。但为什么? Customer 类的属性/方法之一是否会导致 ItemsSource 出现问题? (这可能吗?)

标签: wpf combobox subsonic selecteditem


【解决方案1】:

用您自己的类(包含一个属性,用于获取/设置生成的类实例)包装 SubSonic 生成的类并在集合中使用它。

【讨论】:

    猜你喜欢
    • 2013-06-30
    • 1970-01-01
    • 2016-10-02
    • 1970-01-01
    • 2014-07-27
    • 2015-10-06
    • 2011-09-01
    • 2011-08-23
    • 1970-01-01
    相关资源
    最近更新 更多