带网格线的列表框
ListBox with GridLines
我已经定义了具有所有功能的列表框(它是一个带有拖动点的图表)。在 ListBox 周围,我想在 X 轴和 Y 轴上添加 "GridLines"(我希望这是正确的词 - X 轴上的数据信息和 Y 轴上的数据信息 - example - 每半小时左右的小时时间X 和 Y 轴上的 0-100%)。
所以在 X 轴上我喜欢从 0:00 到 24:00 和 Y 轴上 % 从 0 - 100。我可以使用普通标签或文本块并写入数字是最简单的主意。但是因为列表框的网格会根据数据而变化,所以我喜欢可控的缩放。开始总是例如。 0 和结束也总是例如。 100%。我喜欢缩放每 20 个单位(0%、20%、40%、60%、80% 和 100%)或每 25%(0%、25%、50%、75%、100%)显示信息的信息左右。
我认为使用边框(用于小标记线)并在下一行使用 TextBlock 定义值。所有这些都包含在 DataTemplate 中。
如有不明之处或有任何疑问,请提问。
听起来您的问题的难点在于确定要使用的网格线间隔。我描述了一个很好的算法 here,它产生的范围令观众满意。
有了这个,您就可以将维度划分为空间并相应地缩放值。无论您使用什么逻辑来定位点,也应该更新。
要绘制线条,您可以将 Line
形状添加到 Canvas
。
我已经定义了具有所有功能的列表框(它是一个带有拖动点的图表)。在 ListBox 周围,我想在 X 轴和 Y 轴上添加 "GridLines"(我希望这是正确的词 - X 轴上的数据信息和 Y 轴上的数据信息 - example - 每半小时左右的小时时间X 和 Y 轴上的 0-100%)。
所以在 X 轴上我喜欢从 0:00 到 24:00 和 Y 轴上 % 从 0 - 100。我可以使用普通标签或文本块并写入数字是最简单的主意。但是因为列表框的网格会根据数据而变化,所以我喜欢可控的缩放。开始总是例如。 0 和结束也总是例如。 100%。我喜欢缩放每 20 个单位(0%、20%、40%、60%、80% 和 100%)或每 25%(0%、25%、50%、75%、100%)显示信息的信息左右。
我认为使用边框(用于小标记线)并在下一行使用 TextBlock 定义值。所有这些都包含在 DataTemplate 中。
如有不明之处或有任何疑问,请提问。
听起来您的问题的难点在于确定要使用的网格线间隔。我描述了一个很好的算法 here,它产生的范围令观众满意。
有了这个,您就可以将维度划分为空间并相应地缩放值。无论您使用什么逻辑来定位点,也应该更新。
要绘制线条,您可以将 Line
形状添加到 Canvas
。