【发布时间】:2011-11-14 19:55:51
【问题描述】:
我一般对 XAML 标记感到困惑,尤其是图表工具包,非常感谢帮助整理它。我已经成功创建了一个图表,其中 X 轴显示时间线,Y 轴显示使用 XAML 的值如下:
<chartingToolkit:Chart HorizontalAlignment="Left" Margin="44,12,0,0" Name="chart1" VerticalAlignment="Top" Height="521" Width="826">
<chartingToolkit:Chart.Axes>
<chartingToolkit:DateTimeAxis IntervalType ="Hours" Interval="1">
<chartingToolkit:DateTimeAxis.AxisLabelStyle>
<Style TargetType="chartingToolkit:DateTimeAxisLabel">
<Setter Property="Template">
<Setter.Value>
<Setter Property="StringFormat" Value="{}{0:H}" />
</Setter.Value>
</Setter>
</Style>
</chartingToolkit:DateTimeAxis.AxisLabelStyle>
</chartingToolkit:DateTimeAxis>
</chartingToolkit:Chart.Axes>
<chartingToolkit:LineSeries x:Name="LineSeries1" DependentValuePath="Value" IndependentValuePath="Key" ItemsSource="{Binding}">
<chartingToolkit:LineSeries.DataPointStyle>
<Style TargetType="chartingToolkit:LineDataPoint">
<Setter Property="Visibility" Value="Collapsed"/>
<Setter Property="Background" Value="violet"/>
<Setter Property="Opacity" Value="0" />
</Style>
</chartingToolkit:LineSeries.DataPointStyle>
</chartingToolkit:LineSeries>
</chartingToolkit:Chart>
在代码隐藏中,我在声明为 Dictionary<TimeSpan, float> Dict = new Dictionary<TimeSpan, float>(); 的字典中填充 2 小时内每分钟的值(60 个值),并将 lineseries1 的数据上下文设置为字典,如下所示:LineSeries1.DataContext = Dict.
该图绘制得很漂亮,但是从我在 XAML 中的徒劳尝试中可以明显看出。我需要 X 标签和刻度线每小时只显示一次,而不是每分钟一次,我需要它只显示小时而不是分钟和秒。我上面用于调整标签间隔和格式的 XAML 代码不起作用。我将不胜感激任何能引导我朝着正确方向前进的指针。
谢谢, 卡路里
【问题讨论】:
标签: wpf silverlight charts toolkit