使用 MarkupWriter 类改进从视图模型中获取附加属性的时间

问题描述

我试图使用 MarkUpWriter 获取包含 1000 多个属性自定义类的附加属性。但是当使用 MarkUpWriter 检索附加属性时,它会导致更多的时间延迟。请在下面找到有关它的示例和屏幕截图

您能否提供任何解决方案以减少时间延迟或任何其他解决方案以获取自定义类的附加属性

代码

 public partial class MainWindow : Window
{
    private Stopwatch timer;
    public MainWindow()
    {
        InitializeComponent();

        Class1 viewmodel = new Class1();
        timer = new Stopwatch();
        timer.Start();
        //Codes to get the attached properties descriptors.
       Dictionary<PropertyDescriptor,DependencyProperty> markUpPropertiesList = new Dictionary<PropertyDescriptor,DependencyProperty>();
        MarkupObject markupObject = MarkupWriter.GetMarkupObjectFor(viewmodel);
        if (markupObject != null && markupObject.Properties != null && markupObject.Properties.Any())
        {
            foreach (MarkupProperty markupProperty in markupObject.Properties)
            {
                if (markupProperty.IsAttached && !markupProperty.IsComposite)
                {
                    markUpPropertiesList.Add(markupProperty.PropertyDescriptor,markupProperty.DependencyProperty);
                }
            }

            MessageBox.Show("Properties Count---"+ markupObject.Properties.Count().ToString() + "\n"+ "Total Milliseconds----"+ timer.ElapsedMilliseconds.ToString());
            timer.Stop();
        }
    }
}

示例链接 https://drive.google.com/file/d/1sUxg3rwZQrOkdQmOWT6Xocb7w2SgJdmF/view?usp=sharing

截图:

enter image description here

对于 600 个属性获取几乎需要 600 毫秒的时间

任何减少时间延迟的建议。

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...