【问题标题】:WPF Scrollable Timeline ControlWPF 可滚动时间线控件
【发布时间】:2017-06-03 11:04:12
【问题描述】:

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

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

【问题讨论】:

  • 必须采用标准滑块并适当地覆盖Thumb 控件和样式。在一家有线电视公司失去资金并终止该项目之前,我在一个专门的滑块上工作了一个月以上。这不是一项微不足道的任务......所以深入了解如何创建控件和样式。这需要一些时间,但你可以做到。

标签: c# wpf


【解决方案1】:

我没有使用 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 而言,它非常基本,因为它主要是 C# 和少量 XAML,因此您可能可以很快找到它,然后根据您的特定需求进行调整。

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

【讨论】:

  • @NeilThiessen 没问题,祝你的项目好运!
猜你喜欢
  • 2010-09-24
  • 2010-12-07
  • 2023-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-19
  • 1970-01-01
相关资源
最近更新 更多