本帖最后由 朱京辉 于 2013-4-6 15:41 编辑
窗体功能实现: 两个ListBox, 左边的是源, 右边的是目标, 中间四个按钮, 实现单个移动, 实现全部移动
出现的问题: 点击移动按钮, ListBox的绑定的数据源sourceList的包含的对象数目已经改变了, 但是屏幕上没改变.
简单分析: 感觉和之前老师说的DataContent绑定差不多, 但那个使用了INotifyPropertyChanged接口, 解决了问题, 那这个怎么解决??
附件是界面- //SourceListBox绑定的list集合
- List<Person> sourceList = new List<Person>();
- //AimListBox绑定的list集合
- List<Person> aimList = new List<Person>();
- private void Window_Loaded(object sender, RoutedEventArgs e)
- {
- //初始化SourceListBox的内容
- sourceList.Add(new Person() { Name = "朱京辉", Age = 18 });
- sourceList.Add(new Person() { Name = "李白", Age = 18 });
- //SourceListBox绑定数据
- lbSource.ItemsSource = sourceList;
- //AimListBox绑定数据
- lbAim.ItemsSource = aimList;
- }
- private void btnSouToAim_Click(object sender, RoutedEventArgs e)
- {
- Person selectItem = (Person)lbSource.SelectedItem;
- if (selectItem == null)
- {
- MessageBox.Show("没有选中相应项");
- }
- else
- {
- sourceList.Remove(selectItem);
- aimList.Add(selectItem);
- //下面重新绑定后也无法刷新数据
- lbSource.ItemsSource = sourceList;
- lbAim.ItemsSource = aimList;
- }
- }
复制代码 |
-
1.JPG
(17.37 KB, 下载次数: 29)
|