Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.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_Visual Studio 2010_Sql Server 2008 - Fatal编程技术网

C# 正在将数据检索到组合框中

C# 正在将数据检索到组合框中,c#,wpf,visual-studio-2010,sql-server-2008,C#,Wpf,Visual Studio 2010,Sql Server 2008,我真的不明白发生了什么。在上一个线程中,我询问了为什么在组合框中没有检索数据,但在文本框中没有问题。我只想使用导航按钮检索每条记录。组合框属性部分有什么我遗漏的吗?对于我所做的事情,有没有其他的解决办法?所有的代码都可以从我以前的线程中获得,VisualStudio组件有问题吗 非常感谢我的朋友,你离应该怎么做还很远。你说的是一个组合框,但我想你一定是指一个列表视图。代码中唯一的组合框中有ComboBoxItems硬编码,所以我想你不是在说这个 无论哪种方式,这都是解决问题的方法: 为您的数据添

我真的不明白发生了什么。在上一个线程中,我询问了为什么在组合框中没有检索数据,但在文本框中没有问题。我只想使用导航按钮检索每条记录。组合框属性部分有什么我遗漏的吗?对于我所做的事情,有没有其他的解决办法?所有的代码都可以从我以前的线程中获得,VisualStudio组件有问题吗


非常感谢

我的朋友,你离应该怎么做还很远。你说的是一个组合框,但我想你一定是指一个列表视图。代码中唯一的
组合框
中有
ComboBoxItem
s硬编码,所以我想你不是在说这个

无论哪种方式,这都是解决问题的方法:

为您的数据添加类似于此的类:

public class Person
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string HealthDetails { get; set; }
}
将此依赖项属性添加到代码隐藏:

public static readonly DependencyProperty PeopleProperty = DependencyProperty.Register("People", typeof(ObservableCollection<Person>), typeof(MainWindow), new UIPropertyMetadata(new ObservableCollection<Person>()));

public ObservableCollection<Person> People
{
    get { return (ObservableCollection<Person>)GetValue(PeopleProperty); }
    set { SetValue(PeopleProperty, value); }
}
为此:

<ListView Height="134" HorizontalAlignment="Left" Name="listView1" 
    ItemsSource="{Binding People}" VerticalAlignment="Top" Width="384">

这对我来说很好。但是,您的导航按钮永远不会像这样工作。这里有太多的问题,我根本没有时间为你解决。以下是您的错误总结:

  • 绝不能在
    窗口的代码隐藏中提取数据
  • 数据应存储在支持
    INotifyPropertyChanged
    接口的属性中
  • 在UI中迭代集合时,不应重新加载数据(除非您希望连续更新)
  • 诸如
    DataTable
    s之类的数据对象不应显示在UI中
  • 您应该将集合控件的
    ItemsSource
    属性绑定到视图模型或代码隐藏中的集合属性
  • 您应该将集合控件的
    SelectedItem
    属性绑定到视图模型或代码隐藏中正确类型的属性
  • 在按钮单击处理程序中,在视图模型或代码隐藏中设置此选定项,UI控件将自动更新

  • 谢里登-谢谢你宝贵的时间来帮助我。
    <ListView Height="134" HorizontalAlignment="Left" Name="listView1" 
        ItemsSource="{Binding People}" VerticalAlignment="Top" Width="384">