目前我正在研究在我的WPF应用程序中制作条形图。
虽然我不确定究竟有什么最好的方法可以解决这个问题:
布局将非常基本,但如果条形图实际上可以在运行时更新,那将是很好的。 通过SQL Server数据库值生成条形图的值。 bar char值始终为时间(HH:mm:ss)。
此外,将显示的4-5个条形图彼此相关(因此如果有任何其他条形条,如果有任何意义,条形图1不能超过100%)。 酒吧在24小时内显示。
对于每个条形图,还必须有一个计时器,实际上计算某个特定活动的运行时间(在单独的文本框中,它不需要包含在图表本身中)。
总而言之,1 bar将在单独的标签/文本块中包含其名称和值(hh:mm:ss)。除非建议有更好的解决方案。
目前我有布局,但它只包含网格,标签和重新布局。
感谢。
答案 0 :(得分:1)
我就是这样做的: 我会使用一个简单的ItemsControl,因为它是最轻量级的控件,而对于ListView等,你将不得不关闭很多东西。 然后我会创建一个项目列表,其中每个项目代表一个条形,这些项目(在列表中)绑定到项目控件。每个项目都包含显示它所需的属性(实际值等)。
ItemsControl然后获得一个Datatemplate,其中高度和宽度绑定到项目的属性(使用转换器)以正确显示它们。
如果你想改变一些事物的显示方式,我会使用Canvas作为ItemsPanel,它允许你自由定位物品。
如果您使用ObservableCollection项目列表并且每个项目实现INotifyPropertyChanged,您可以轻松更新条形图的显示。