【发布时间】:2018-02-20 22:09:19
【问题描述】:
我目前遇到一个似乎无法解决的问题。我创建了一个方法,在其中传入一个组合框对象,构建一个 Linq 查询并将 ItemsSource 绑定到查询结果。我在 VB.Net 中非常成功地做到了这一点。但是在 C# 中,当我调试应用程序并下拉组合框时,我看到以下内容:
System.Data.Entity.DynamicProxies.ReferenceGroup_FEA77E50BE7F55D3AD4A32EC3E42F6
如果我选择该条目,则正确的 DisplayPath 和 Selected Value Path 工作正常。选择上述引用后,组合框显示正确的“地址”。
LINQ 查询:
var source = (from g in adminEntities.ReferenceGroups
orderby g.ReferenceGroupName
select g);
objSource.ItemsSource = source.ToList();
return objSource;
组合框 XAML 定义:
<ComboBox Name="cboGroups" Grid.Column="1" Grid.Row="0"
HorizontalAlignment="Stretch" VerticalAlignment="Center" Margin="5"
SelectionChanged="cboGroups_SelectionChanged"
DisplayMemberPath="ReferenceGroupName"
SelectedValuePath="ReferenceGroupID"/>
这种行为在 C# 和 VB.Net 之间是不同的。任何帮助将不胜感激。
【问题讨论】:
-
您正在设置 objSource 的 ItemsSource,然后将其返回。你在做什么?组合框的名称为 cboGroups 而不是 objSource。 objSource 和 cboGroups 有什么关系?请创建一个最小的完整示例
-
public ComboBox PopulateComboBox(ComboBox objSource, String dataSource) { try { var source = (from g in adminEntities.ReferenceGroups orderby g.ReferenceGroupName select g); objSource.ItemsSource = source.ToList();返回对象源; } catch (Exception ex) { } return objSource; }
-
@user1756895:评论真的不是粘贴代码的地方。更新问题。
标签: c# wpf entity-framework linq combobox