WPF 数据绑定问题!!求解求解
我将ListBox与一个List绑定了,现在往List中添加一个数据,为什么ListBox中显示的内容不随之变化????求高手!!!!代码如下:XAML:<ListBox...
我将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”)); 展开
代码如下:
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”)); 展开
3个回答
展开全部
为窗体写一个ViewModel,实现INotifyPropertyChange接口,此接口的作用就是将数据变化通知到客户端,此类中可以使用一个动态数据集合属性(ObservableCollection<>)来放置学生信息列表,界面上可使用ItemsControl,TreeView,GridView之类的控件,控件的ItemsSource绑定到这个集合;学生信息这个也应该有一个ViewModel,这样在编辑、修改某个学生信息的时候,界面上的数据也会随之发生变化,出于数据校验的考虑,还应该实现IDataErrorInfo接口来即时提示用户。另外,在WPF中应该考虑使用按钮的Command属性,而不是使用Click事件,可参考“使用MVVM模式构建WPF应用程序”。
希望对你有帮助,有疑问请追问或是Hi
希望对你有帮助,有疑问请追问或是Hi
追问
嗯,非常感谢...... 接触WPF不久,问题自然是一大堆...你提到到MVVM模式、Command属性我都需要好好的学习下...等遇到问题了一定得请教一下~~
追答
不客气,大家都是学习中,互相交流
展开全部
界面不能感应到list 的变化
可以通过 items.add 方式去添加 student
不过,你上面的 listBox1.ItemsSource 也要改成 items.add来添加listBox1
可以通过 items.add 方式去添加 student
不过,你上面的 listBox1.ItemsSource 也要改成 items.add来添加listBox1
追问
已经解决了,student 实现INotifyPropertyChanged接口, list 用ObservableCollection就可以随时更新了。。。。
还是很感谢您~~~~
追答
哦 学习了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询