性能问题 - DataTemplate和DataBinding - 第一次加载

时间:2015-07-23 22:53:24

标签: wpf performance data-binding datatemplate

这是我的UI图: enter image description here

我在顶部有一个元素列表(clickme1和clickme2)。每个元素都有MyList中包含的几个信息,我想在列表框的customElement中显示。

默认情况下单击Clickme1。当我点击Clickme2时,列表框需要2-3秒才能通过Clickme2的信息更新CustomElements。当我再次切换时,它会立即更新,因此只有第一次点击才能看到问题。 CustomElement与Clickme元素(图像和文本)有很多不同的绑定。

这是我的代码:

ghc-pkg

我尝试使用VirtualizingStackPanel而不是WrapPanel,但它没有改进任何东西。

任何帮助?

1 个答案:

答案 0 :(得分:0)

重新填充集合时,是否要分配新的ObservableCollection?或者在现有的工作?

你应该填充你的收藏品#34;离线"然后绑定它。或谷歌的ObservableCollection衍生产品,支持"批量插入"。标准的ObservableCollection将为每个插入发送一个UI更新。

WRONG:

MyList.Clear();
MyList.Add(...);

RIGHT:

ObservableCollection<CustomClass> coll = new ...
coll.Add(...);
MyList = coll;