【发布时间】:2011-02-13 12:50:48
【问题描述】:
我有这种情况 - 我想建立时间线控制。所以我有 UserControl 和 ItemsControl (每一行代表某个人)。 ItemsControl 包含另一个 ItemsControl 作为 ItemsControl.ItemTemplate - 它显示例如按事件日期安排的人的事件。
所以它看起来像某种带有日期作为列标题的网格,例如人民作为行标题。
......................|.2010.01.01.....2010.01.02.....2010.01.03
亚当·史密斯....|......[some event#1]..... [一些事件#2]......
约翰·道.......|...[一些事件#3].....[一些事件#4]............
我可以有很多人(ItemsControl #1 - 100-200 个项目),并且有一天会发生很多事件(每人一天 1-10-30 个事件)
问题是当用户滚动 ItemsControl #1/#2 时,它发生得太慢了,因为很多元素应该一次呈现(因为我在特定事件的描述中有一些文本框和其他元素)
问题 #1 - 我该如何改进?可能有人知道建立这种用户控制的更好方法吗?我不得不提一下,我正在使用自定义虚拟面板,基于在互联网某处找到的一些自定义虚拟面板实现......
问题 #2 - 我想在 WriteableBitmap 的帮助下制作图像,并将数据绑定控件渲染到图像并显示图像而不是很多元素。问题是我正在尝试渲染不可见的数据绑定控件(在后面的代码中创建)并且它的实际宽度/高度等于零(所以没有渲染)即使我正在使用 Dispatcher.BeginInvoke(() => {.. .} 方法。我该如何解决?
非常感谢您的帮助!
【问题讨论】:
标签: silverlight image user-controls render databound