WPF 可滚动时间轴控件

Nei*_*eil 0 c# wpf

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

时间轴控制模型

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

错误的时间线控制

Tib*_*ion 7

我没有使用 Thumb 控件的经典覆盖,而是根据您的模型拼凑了一个快速框架:
ZIP: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#,因此您可能可以真正快速地弄清楚它,然后根据您的特定需求对其进行调整。

在演示应用程序中,它看起来像这样: 在此处输入图片说明
蓝色条带是可拖动的,粗中心线代表它们的真实位置,而褪色的蓝色边使点击的抓地力更大。将鼠标悬停在带上会显示其在工具提示中的位置。当然,您可以根据需要重新设计和调整所有视觉效果。