0

我已经开发了 ac# WPF 应用程序,我想对我的图表视图进行缩放或滚动条,因为数据正在相互合并,我相信缩放或添加滚动条将是一种解决方案。到目前为止,我有这个。顺便说一句,我正在做一个柱形图。

public partial class ChartControl : UserControl
{
    System.Windows.Forms.ScrollableControl ctl = new System.Windows.Forms.ScrollableControl();
    public ChartControl()
    {
        InitializeComponent();
        scrollbar();
    }

    private System.Windows.Forms.ScrollBars scrollbar()
    {
        if (ctl.HorizontalScroll.Visible)
            return ctl.VerticalScroll.Visible ? System.Windows.Forms.ScrollBars.Both : System.Windows.Forms.ScrollBars.Horizontal;
        else
            return ctl.VerticalScroll.Visible ? System.Windows.Forms.ScrollBars.Vertical : System.Windows.Forms.ScrollBars.Horizontal;
    }

    private void Grid_MouseWheel(object sender, MouseWheelEventArgs e)
    {
        if (e.Delta > 0)
        {
            chartzoom.ScaleX += 1;
            chartzoom.ScaleY += 1;
        }
        else
        {
            chartzoom.ScaleX -= 1;
            chartzoom.ScaleY -= 1;
        }
    }
}

缩放不是很有效,有没有办法添加滚动条或适当的缩放属性。

Xaml 代码如下::

  <Grid MouseWheel="Grid_MouseWheel">

        <dvc:Chart Canvas.Top="80" Name="chart"  PreviewMouseWheel="Grid_MouseWheel"   >

            <dvc:Chart.LayoutTransform>
                <ScaleTransform x:Name="chartzoom"></ScaleTransform>              
            </dvc:Chart.LayoutTransform> 

            <dvc:Chart.Series >
                <dvc:ColumnSeries Title="{Binding LineGraphTitledg1}"
                                  ItemsSource="{Binding Data}"
                                  IndependentValueBinding="{Binding Path=Time}"
                                  DependentValueBinding="{Binding Path=DG1}"  />
                <dvc:ColumnSeries Title="{Binding LineGraphTitledg2 }"
                                  ItemsSource="{Binding Data}"
                                  IndependentValueBinding="{Binding Path=Time}"
                                  DependentValueBinding="{Binding Path=DG2}" />
                <dvc:ColumnSeries Title="{Binding LineGraphTitledg3}"
                                  ItemsSource="{Binding Data}"
                                  IndependentValueBinding="{Binding Path=Time}"
                                  DependentValueBinding="{Binding Path=DG3}" />
                <dvc:ColumnSeries Title="{Binding LineGraphTitledgunits}"
                                  ItemsSource="{Binding Dataunitvsfuel}"
                                  IndependentValueBinding="{Binding Path=kwh}"
                                  DependentValueBinding="{Binding Path=fuel}"
                                  IsSelectionEnabled="True" />                                              
            </dvc:Chart.Series>
        </dvc:Chart>
4

2 回答 2

0

将图表包装在 Xaml 中的 ScrollView 中将允许您滚动。

于 2016-03-09T06:41:29.780 回答
0

我看到图表控件本身不支持滚动。因此将其包装在 aScrollViewer中提供了解决方案。为此,您已将图表设置为固定或最小尺寸。

<ScrollViewer HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Visible">
    <dvc:Chart Name="chart" MinWidth="500" MinHeight="300">
        (...)
    </dvc:Chart>
</ScrollViewer>
于 2016-03-09T07:25:21.760 回答