使用Linq to Sql查询DataBinding到WPF组合框的问题

时间:2011-08-22 01:44:04

标签: wpf linq-to-sql data-binding combobox

我有以下WPF标记

<ComboBox x:Name="realmComboBox" 
          DisplayMemberPath="Name" 
          SelectedValuePath="Name" 
          Width="120" />

我在网上发现了很多例子,说明以下其中一项应该有效

realmComboBox.ItemsSource = from realm in _db.Realms select realm;

realmComboBox.ItemsSource = (from realm in _db.Realms select realm).ToList();

但我得到的只是空白下拉。如果你没有设置DisplayMemberPath,甚至不会发生我被告知的ToString问题。我发现的唯一可行的是以下

realmComboBox.ItemsSource = from realm in _db.Realms 
                            select new { 
                                Name = realm.Name
                            };

但这感觉就像浪费资源一样,因为我已经在内存中拥有了Realm对象,并且它显然具有Name属性。我错过了什么?

1 个答案:

答案 0 :(得分:1)

要详细说明我的评论,这是公开的field

public string Name;

这是公开的property

public string Name { get; set; }

由于它适用于仅使用属性的匿名类型,我认为您的数据只有公共字段。

另外:即时窗口不是输出窗口,您可能需要通过View > Output显示它。