WPF可滚动时间轴控制

时间:2017-01-18 21:50:11

标签: c# wpf

我正在尝试为项目构建类似时间轴的控件,但我对WPF的经验有限,并且不知道从哪里开始。要求非常简单:我有ObservableCollection个具有时间戳属性的对象,我需要能够选择其中一个或多个并在"时间轴上来回拖动#34 ;。所有对象都将呈现相同的大小,因为没有开始/结束时间的概念。这是我尝试构建的模型:

Timeline control mockup

我花了好几个小时搜索示例或教程,但是当我搜索"时间线"控制大多数结果解决了一个完全不同的问题:

Wrong timeline control

1 个答案:

答案 0 :(得分:2)

我没有使用Thumb控件的经典覆盖,而是根据您的模型汇总了一个快速框架:
邮编:http://www.mediafire.com/file/fidg8ea88ofoki4/TimelineFramework.zip
VirusTotal:https://www.virustotal.com/en/url/7579b365749d07eb743643ab118de71c7dd09cb03df7a8b28fbf3cec816ff4cc/analysis/1484802709/https://www.virustotal.com/en/file/4899aa96234e1e69c4e935f7d692e46789d8b4b7a5afd4c354937ed921986b20/analysis/1484802463/

它在WPF方面非常基础,因为它主要是带有少量XAML的C#,所以你可以快速地想出来,然后根据你的特定需求调整它。

在演示应用中,它看起来像这样: enter image description here
蓝色条纹是可拖动的,厚的中心线代表它们的真实位置,褪色的侧面蓝色使得更大的抓​​地力可以点击。将鼠标悬停在某个波段上会在“工具提示”中显示其位置。当然,您可以根据需要重新调整所有视觉效果。