首页 > Windows开发 > 详细

WPF MVVM 大量对象属性变更界面没有更新

时间:2021-07-20 15:10:31      阅读:16      评论:0      收藏:0      [点我收藏+]

做了一个超大矩阵,每个块对应一个对象,数据更新后,界面的数据跟原始数据对不上,不知道为什么,
模拟winform 的Application.DoEvents() 可以解决,不知道大家有没有其他方法,以下是WPF代码,

在频繁变动的地方加上 DoEvents()

 

   

     /// <summary>
        /// Simulate Application.DoEvents function of <see cref=" System.Windows.Forms.Application"/> class.
        /// </summary>
        [SecurityPermissionAttribute(SecurityAction.Demand, Flags = SecurityPermissionFlag.UnmanagedCode)]
        public static void DoEvents()
        {
            var frame = new DispatcherFrame();
            Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Background,
                new DispatcherOperationCallback(ExitFrames), frame);

            try
            {
                Dispatcher.PushFrame(frame);
            }
            catch(Exception ex)
            {

            }
            //catch (InvalidOperationException ex)
            //{
            //}
        }

        private static object ExitFrames(object frame)
        {
            ((DispatcherFrame)frame).Continue = false;
            return null;
        }

 

WPF MVVM 大量对象属性变更界面没有更新

原文:https://www.cnblogs.com/huonunu/p/15034251.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!