Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将表元素加载到组合框中_C#_Wpf_Entity Framework - Fatal编程技术网

C# 将表元素加载到组合框中

C# 将表元素加载到组合框中,c#,wpf,entity-framework,C#,Wpf,Entity Framework,我希望将表元素(从数据库)加载到combobox。不幸的是,下面的代码没有加载项 <ComboBox Margin="209,283,51,160" Name="Nazwa_menagera" ItemsSource="{Binding GetMenagerzyComboboxItems}" SelectedValuePath="Key" SelectedValue="{Binding Path=I

我希望将表元素(从数据库)加载到combobox。不幸的是,下面的代码没有加载项

<ComboBox   Margin="209,283,51,160" Name="Nazwa_menagera" ItemsSource="{Binding GetMenagerzyComboboxItems}"
                      SelectedValuePath="Key"
                      SelectedValue="{Binding Path=IdMenagera, Mode=TwoWay}"
                      DisplayMemberPath="Value"/>

不能绑定到方法,它必须是属性。而且你也不能绑定到IQueryable(至少据我所知)

一些可能让它为您工作的小更改(假设您已正确设置DataContext):


为了获得更好的用户体验,您可能应该考虑异步检索数据,并使用
INotifyPropertyChanged
和/或通过
ObservableCollection

将它们发布到视图中。您可能需要包含更多的XAML代码。你有
DataContext
设置吗?我没有。我在其他程序中使用了相同的代码,并且工作正常:)我只有public int-IdMenagera{get{return}IdMenagera;}set{if(_-IdMenagera!=value){u IdMenagera=value;OnPropertyChanged(()=>IdMenagera);}}
  public IQueryable<ComboboxKeyAndValue> GetMenagerzyComboboxItems()
            {
                return
                    (
                        from menagerzy in atmaEntites.Menagerzy
                        select new ComboboxKeyAndValue
                        {
                            Key = menagerzy.idMenagera,
                            Value = menagerzy.nazwa + " " + menagerzy.imie + " " + menagerzy.nazwisko,
                        }
                    ).ToList().AsQueryable();
            }
public class ComboboxKeyAndValue
    {
        public int Key { get; set; }
        public string Value { get; set; }
    }
public IEnumerable<ComboboxKeyAndValue> MenagerzyComboboxItems
{
    get
    {
        return
        (
            from menagerzy in atmaEntites.Menagerzy
            select new ComboboxKeyAndValue
            {
                Key = menagerzy.idMenagera,
                Value = menagerzy.nazwa + " " + menagerzy.imie + " " + menagerzy.nazwisko,
            }
        ).ToList();
    }
}
ItemsSource="{Binding MenagerzyComboboxItems, Mode=OneWay}"