Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 属性分配执行太慢_C#_Wpf - Fatal编程技术网

C# 属性分配执行太慢

C# 属性分配执行太慢,c#,wpf,C#,Wpf,这些作业 dtSubBefore2 = DateTime.Now; if (entryAfterNode != null) //if (entryBefore.targetNode.Path_SetAttributes == entryAfterNode.Path_1_Original) { entryAfterNode.task7 = enTasks.SetAttributes; entryAfterNode.Path_SetAttributes = entryBefor

这些作业

dtSubBefore2 = DateTime.Now;
if (entryAfterNode != null)
   //if (entryBefore.targetNode.Path_SetAttributes == entryAfterNode.Path_1_Original)
{
    entryAfterNode.task7 = enTasks.SetAttributes;
    entryAfterNode.Path_SetAttributes = entryBefore.targetNode.Path_SetAttributes;
    entryAfterNode.Path_SetCopyOrAttributesSource = entryBefore.targetNode.Path_SetCopyOrAttributesSource;
    entryAfterNode.Path_SetAttributesSourceBase = entryBefore.targetNode.Path_SetAttributesSourceBase;
    entryAfterNode.Path_SetAttributesBase = entryBefore.targetNode.Path_SetAttributesBase;
    entryAfterNode.SetFileAttributes = entryBefore.targetNode.SetFileAttributes;

    // SetAttributes can set bActivated!! (because not inheritted from BeforeView)
    entryAfterNode.bActivated = entryBefore.targetNode.bActivated;
}
dtSubAfter2 = DateTime.Now;
大约5-10毫秒,这对我来说很慢。
属性以一种复杂的方式可视化,我将循环使用此代码多达10万次。
是否有方法在循环完成之前停用属性可视化,然后更新属性可视化以使其更快

或者我必须在不更改属性的情况下创建额外属性吗


我仍然可以使用
UpdateLayout
更新所有内容吗?

我们不知道setter和getter都在做什么,所以我们无法判断什么需要很长时间。我们不知道在调用setter时是否会触发其他事件,等等。一个简短但完整的程序演示了这个问题,在这里有很长的路要走……entryBefore.targetNode是如何实现的?这可能是瓶颈吗?如果尝试
var target=entryBefore.targetNode
然后在设置过程中使用该目标,这有帮助吗?