WPF 数据绑定问题!!求解求解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF 数据绑定问题!!求解求解相关的知识,希望对你有一定的参考价值。

我将ListBox 与 一个List绑定了, 现在往List中添加一个数据,为什么ListBox中显示的内容不随之变化???? 求高手!!!!
代码如下:
XAML:
<ListBox Height="198" HorizontalAlignment="Left" Margin="192,22,0,0" Name="listBox1" VerticalAlignment="Top" Width="299">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Binding Path=Name"/>
<TextBlock Text="Binding Path=Gender"/>
<TextBlock Text="Binding Path=Age"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>

c#:
窗体构造函数中: listBox1.ItemsSource = list_stu;
button点击事件中: list_stu.Add(new student("张三“,“男”,“22”));

为窗体写一个ViewModel,实现INotifyPropertyChange接口,此接口的作用就是将数据变化通知到客户端,此类中可以使用一个动态数据集合属性(ObservableCollection<>)来放置学生信息列表,界面上可使用ItemsControl,TreeView,GridView之类的控件,控件的ItemsSource绑定到这个集合;学生信息这个也应该有一个ViewModel,这样在编辑、修改某个学生信息的时候,界面上的数据也会随之发生变化,出于数据校验的考虑,还应该实现IDataErrorInfo接口来即时提示用户。另外,在WPF中应该考虑使用按钮的Command属性,而不是使用Click事件,可参考“使用MVVM模式构建WPF应用程序”。
希望对你有帮助,有疑问请追问或是Hi追问

嗯,非常感谢...... 接触WPF不久,问题自然是一大堆...你提到到MVVM模式、Command属性我都需要好好的学习下...等遇到问题了一定得请教一下~~

追答

不客气,大家都是学习中,互相交流

参考技术A 界面不能感应到list 的变化
可以通过 items.add 方式去添加 student

不过,你上面的 listBox1.ItemsSource 也要改成 items.add来添加listBox1追问

已经解决了,student 实现INotifyPropertyChanged接口, list 用ObservableCollection就可以随时更新了。。。。
还是很感谢您~~~~

追答

哦 学习了!

参考技术B 绑定方式的问题

以上是关于WPF 数据绑定问题!!求解求解的主要内容,如果未能解决你的问题,请参考以下文章

DropDownList绑定数据后,选择项始终是第一项,选择别的,输出的还是第一项,求解?

关于C#中wpf方面的知识,求解

ubantu修改mysql配置bind_address的问题》?求解

WPF数据绑定问题(很菜的)

在easyUI联动加载下拉框的时候为啥 只能显示 不能选择下拉框的值 我绑定的id 是唯一的啊 !!求解!!

WPF入门教程系列十五——WPF中的数据绑定