2
我发现上下文菜单需要10秒钟以上显示,当我有10000个项目时,我想让这个更快(例如小于1秒)WPF contextmenu很慢很多项目 - 我如何加快速度?
这是我的测试代码,显示上下文菜单缓慢直接:
private void button1_Click(object sender, RoutedEventArgs e)
{
ContextMenu cm = new ContextMenu();
for (int i = 0; i < 1000; i++)
{
MenuItem mi = new MenuItem();
mi.Header = "test"; // this is HOT - 3%
mi.Tag = this; // cold
for (int j = 0; j < 10; j++)
{
MenuItem mi2 = new MenuItem(); // this is HOT - 1%
mi2.Header = "test"; // this is HOT - 12%
mi2.Tag = this; // cold
mi.Items.Add(mi2); // this is HOT - 6%
}
cm.Items.Add(mi); // this is HOT - 3%
}
cm.IsOpen = true; // this is HOT - 72%
}
据我用过的cm.IsOpen走的大部分时间性能评测 - 但设置mi.Header也显著。
你为什么做不可用上下文菜单? – SLaks 2011-01-13 22:45:51
准确地说,我的想法...菜单大致可以处理9个项目。在这里填充10K物品不仅是无稽之谈,它是疯狂的。 – Joey 2011-01-13 22:46:58