我真的不明白发生了什么。从我之前的帖子here开始,我问为什么数据没有在组合框中检索,但文本框没有问题。我想要的只是使用导航按钮检索每条记录。有没有什么我错过了组合框属性部分?那里有解决方案吗?所有编码都可以从我之前的帖子here获得,Visual Studio组件有问题吗?
非常感谢
答案 0 :(得分:1)
我的朋友,你到目前为止应该如何做到这一点。你说的是ComboBox
,但我认为你的意思是ListView
。代码中唯一的ComboBox
内部有ComboBoxItem
个硬编码,所以我猜你不是在谈论那个。
无论哪种方式,这都是您解决问题的方法:
为您的数据添加与此类似的类:
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); }
}
使用您的数据填充People
集合。然后最重要的是,绑定到这个集合。以前,您绑定了整个MainWindow.cs
类...更改此
<ListView Height="134" HorizontalAlignment="Left" Name="listView1"
ItemsSource="{Binding}" VerticalAlignment="Top" Width="384">
到此:
<ListView Height="134" HorizontalAlignment="Left" Name="listView1"
ItemsSource="{Binding People}" VerticalAlignment="Top" Width="384">
它对我来说很好。但是,您的导航按钮永远不会像这样工作。这里有很多错误,我根本没有时间为你解决这个问题。以下是您出错的地方摘要:
Window
。INotifyPropertyChanged
接口的属性中。DataTable
等数据对象。ItemsSource
属性绑定到视图模型或后面的代码中的集合属性。SelectedItem
属性绑定到视图模型或后面代码中的正确类型的属性。