在DataGrid中绘制的快速轻量级方法

时间:2013-03-13 18:28:56

标签: wpf performance datagrid draw timeline

我需要在“datagrid”中使用某种时间轴,并且该字符有很多行。

https://www.dropbox.com/s/idz0zuk8u3jla11/img.PNG?m

我的数据网格的左侧效果非常好,因为只有文本。

右侧有点滞后。

实际上,我在时间轴部分的第一个索引处有我的DataGridTemplateColumn。

我的DataGridTemplateColumn使用我的UserControl作为DataTemplate,在那里我绘制了整行的线条/矩形。这是有效的,因为我将对象的左边距设置为示例500,因此它显示在右侧的其他列上...

usercontrol是一个简单的网格,我已经动态放置了我的矩形。

其他列也是DataGridTemplateColumn,但它们都是空的。

现在,我的想法是只创建一个列,我可以放置一个大的usercontrol并绘制该行的时间轴。

这样做的最佳做法是什么?

感谢

1 个答案:

答案 0 :(得分:1)

我看到你想制作一个时间线,这很棒。我认为Grid可能不是最好的面板。我认为在这种情况下你应该实现自己的自定义面板。制作自定义面板非常棒,因为您可以设置项目的显示方式,也可以添加动画或拖动行为。你可以看到这个页面:

我还附上了一些我找到的面板链接,看看,也许你可以找到有用的东西。

修改


我忘了另一件事,你可以在任何ItemsControl中设置属性ItemsPanel,这样你可以使用你的面板与任何项目源,你可以在ListBox中使用它。