• 2011.11.18


    1. 关于异步添加数据,绑定之后的ObservableCollection 没有办法在非UI线程更新数据啊,如果是这样的话,就得考虑用一个List对象做过渡,然后初始化完成之后删掉。

    public List<ItemViewModel> mItems = new List<ItemViewModel>();
    
    public ObservableCollection<ItemViewModel> Items { get; private set; }
    
    Items = new ObservableCollection<ItemViewModel>(mItems);
    
    System.Threading.ThreadPool.QueueUserWorkItem((p) => 
                    {
                        App.ViewModel.LoadData();
    
                        Deployment.Current.Dispatcher.BeginInvoke(() => 
                        {
                            FirstListBox.ItemsSource = App.ViewModel.Items;
                        });
                        
                    });
    

    一开始的做法是 先绑定ItemsSource ,再调用 

    Items = new ObservableCollection<ItemViewModel>(mItems);
    就会发现数据并不更新,是因为new的时候Items的地址已经改变了,但是没有触发Items_CollectionChanged因此数据源不知道,因此需要改变之后再去绑定。
    2.多线程
    http://10rem.net/blog/2010/04/23/essential-silverlight-and-wpf-skills-the-ui-thread-dispatchers-background-workers-and-async-network-programming
    http://msdn.microsoft.com/en-us/library/6kac2kdh(v=VS.95).aspx
    http://msdn.microsoft.com/en-us/library/cc221403(v=VS.95).aspx
    3.性能分析
    http://msdn.microsoft.com/en-us/library/dd997286(v=VS.95).aspx
    http://msdn.microsoft.com/en-us/library/ee309563(v=VS.95).aspx
    http://msdn.microsoft.com/en-us/library/ff967560(v=vs.92).aspx#BKMK_UserInput


  • 相关阅读:
    c++关键字static的作用
    react 中echarts-for-react使用 自适应div
    react Echart 自适应问题
    react 中Echarts不自适应问题
    解决 react typescript 中 antD 走马灯 this.slider 报错
    antD 走马灯跳到指定页面
    js 判断语句 或的写法
    ajax 分页点击数据缓存
    react antD moment
    react antD 日期选择
  • 原文地址:https://www.cnblogs.com/jeekun/p/2253387.html
Copyright © 2020-2023  润新知