C# WPF将组合框绑定到LINQ填充的可观察集合
这是第一次体验WPF,所以请原谅我,我知道这是非常基本的,但我无法让它工作。我只是尝试将一个组合框绑定到LINQ to EF填充的ObservableCollection。当我逐步浏览代码时,我看到集合已填充,但组合框不显示集合的内容 这是我的ViewModel:C# WPF将组合框绑定到LINQ填充的可观察集合,c#,wpf,xaml,C#,Wpf,Xaml,这是第一次体验WPF,所以请原谅我,我知道这是非常基本的,但我无法让它工作。我只是尝试将一个组合框绑定到LINQ to EF填充的ObservableCollection。当我逐步浏览代码时,我看到集合已填充,但组合框不显示集合的内容 这是我的ViewModel: public class MainWindowViewModel : ViewModelBase { # region ObservableCollections private ObservableCollection&l
public class MainWindowViewModel : ViewModelBase
{
# region ObservableCollections
private ObservableCollection<Site> _sitescollection;
public ObservableCollection<Site> SiteCollection
{
get { return _sitescollection;}
set {
if (value == _sitescollection) return;
_sitescollection = value;
RaisePropertyChanged("SiteCollection");
}
}
# endregion
public MainWindowViewModel()
{
this.PopulateSites();
}
// Get a listing of sites from the database
public void PopulateSites()
{
using (var context = new Data_Access.SiteConfiguration_Entities())
{
var query = (from s in context.SITE_LOOKUP
select new Site(){Name = s.SITE_NAME, SeqId = s.SITE_SEQ_ID });
SiteCollection = new ObservableCollection<Site>(query.ToList());
}
}
}
以及我的XAML绑定:
<ComboBox Margin="10"
ItemsSource="{Binding Sites}"
DisplayMemberPath="Name"
SelectedValuePath="SeqId" />
我做错了什么?如蒙协助,将不胜感激 您已绑定到路径“Sites”,但您的属性名称为“SiteCollection”
您绑定到属性,因此名称必须匹配。还要确保您的数据上下文已设置为视图模型对象。Wow thanks@BradleyDotNET。真不敢相信我竟然没注意到。这太简单了,我感到很尴尬。@mack注意到您应该在输出窗口中看到System.Data异常,该异常表示“在object MainWindowViewModel上找不到属性站点”。这些错误通常会帮助您更快地找到这些内容:)谢谢@BradleyDotNET,我现在在输出窗口中看到了。我以后会更加注意的!:)
<ComboBox Margin="10"
ItemsSource="{Binding Sites}"
DisplayMemberPath="Name"
SelectedValuePath="SeqId" />