首页 文章

根据过滤器mvvm c#wpf自定义wpf折线图的x轴

提问于
浏览
1

我想根据过滤条件更改wpf工具包线序列图的x轴 . 过滤器包含3个复选框,如1)Show Today 2)Show Week 3)Show Month . 当点击Show Today时,它会显示数据库中今天的记录,x轴应该是早上9点,上午11点,下午1点,下午3点,下午5点,下午9点,晚上9点,晚上11点,凌晨1点,凌晨3点,上午7点 . 当点击显示周时,它应该显示从周日到周六的当前周的日期 . 单击“显示月”时,它应在x轴上显示1到31 . 我将DateTime属性绑定到x轴上的IndependentValuePath . 我在过滤器更改时调用dataaccess中的方法 . 如何使用mvvm在wpf line series chart中实现这一点 .

请建议?

谢谢

1 回答

  • 1

    您应该为x轴样式中的每个复选框创建一个数据触发器 .

    <chartingToolkit:Chart.Axes>
                            <chartingToolkit:DateTimeAxis x:Name="LevelsDateTimeAxis" Orientation="X" Minimum="{Binding ElementName=PatientWindow, Path=MinimumTime}" Maximum="{Binding ElementName=PatientWindow, Path=MaximumTime}">
                                <chartingToolkit:DateTimeAxis.Style>
                                    <Style TargetType="{x:Type chartingToolkit:DateTimeAxis}">
                                        <Style.Triggers>
                                            <DataTrigger Binding="{Binding ElementName=WeekCheckbox, Path=IsChecked}"
                                                         Value="True">
                                                <Setter Property="IntervalType"
                                                        Value="Days" />
                                                <!-- You might need to adjust the Interval to 1 Here -->
                                            </DataTrigger>
                                            <!-- Continue With the Next Checkbox -->
                                        </Style.Triggers>
                                    </Style>
                                </chartingToolkit:DateTimeAxis.Style>
                            </chartingToolkit:DateTimeAxis>
    

相关问题