2014-03-13 46 views
0

我有工作列系列。Silverlight類別Axis X widht水平伸展scrollView

我有大約50多個列系列顯示,當有更多數量的酒吧它收縮酒吧寬度和調整爲圖表寬度。

所以我想只添加一個滾動到類別軸X和水平滾動固定條的寬度,如果它的更多系列的X軸應水平拉伸。

這裏是截圖:

enter image description here

在屏幕截圖中可以看到,第三系列切割,其不滾動。

這是我曾嘗試:

<charting:Chart Name="barChart" 
           Style="{StaticResource PhoneChartStyle}" 
           Template="{StaticResource BarChartTemplate}"> 
        <charting:Chart.Axes> 
         <charting:LinearAxis ShowGridLines="True" Title="Scores" Orientation="Y" Minimum="0" Maximum="50" Interval="10"/> 
         <charting:CategoryAxis HorizontalContentAlignment="Stretch" 
               HorizontalAlignment="Stretch" 
               Title="Fruits" 
               Width="1000" 
               Orientation="X" 
               ScrollViewer.HorizontalScrollBarVisibility="Visible"> 
         </charting:CategoryAxis> 
        </charting:Chart.Axes> 
        <charting:Chart.Series> 
         <charting:ColumnSeries 
            Title="Apple" 
            IndependentValueBinding="{Binding Key}" 
            DependentValueBinding="{Binding Value}" 
            AnimationSequence="Simultaneous"> 
          </charting:ColumnSeries> 
          <charting:ColumnSeries     
            Title="Oranges" 
            IndependentValueBinding="{Binding Key}" 
            DependentValueBinding="{Binding Value}" 
            AnimationSequence="Simultaneous"> 
          </charting:ColumnSeries> 
          <charting:ColumnSeries     
            Title="Guava" 
            IndependentValueBinding="{Binding Key}" 
            DependentValueBinding="{Binding Value}" 
            AnimationSequence="Simultaneous"> 
          </charting:ColumnSeries> 
        </charting:Chart.Series> 
       </charting:Chart>* 
+0

是你設置barChart ItemSource動態還是50常量系列在你圖表??? – Jaihind

+0

@Jaihind動態,它可能包含50或100或某些值 – Goofy

回答

0

我有同樣的問題,這一招可以解決問題。願這也能幫助你。

<ScrollViewer Width="480" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Disabled" Margin="0,10"> 
<charting:Chart Name="barChart" 
           Style="{StaticResource PhoneChartStyle}" 
           Template="{StaticResource BarChartTemplate}" Width="460"> 
        <charting:Chart.Axes> 
         <charting:LinearAxis ShowGridLines="True" Title="Scores" Orientation="Y" Minimum="0" Maximum="50" Interval="10"/> 
         <charting:CategoryAxis HorizontalContentAlignment="Stretch" 
               HorizontalAlignment="Stretch" 
               Title="Fruits" 
               Width="1000" 
               Orientation="X" 
               ScrollViewer.HorizontalScrollBarVisibility="Visible"> 
         </charting:CategoryAxis> 
        </charting:Chart.Axes> 
        <charting:Chart.Series> 
         <charting:ColumnSeries 
            Title="Apple" 
            IndependentValueBinding="{Binding Key}" 
            DependentValueBinding="{Binding Value}" 
            AnimationSequence="Simultaneous"> 
          </charting:ColumnSeries> 
          <charting:ColumnSeries     
            Title="Oranges" 
            IndependentValueBinding="{Binding Key}" 
            DependentValueBinding="{Binding Value}" 
            AnimationSequence="Simultaneous"> 
          </charting:ColumnSeries> 
          <charting:ColumnSeries     
            Title="Guava" 
            IndependentValueBinding="{Binding Key}" 
            DependentValueBinding="{Binding Value}" 
            AnimationSequence="Simultaneous"> 
          </charting:ColumnSeries> 
        </charting:Chart.Series> 
       </charting:Chart> 
</ScrollViewer> 

你設置BARCHART 的背後的ItemSource //代碼//我假設你的ItemSource應該是一個List集合=新名單(); //barChart.ItemSource = collection;

if (collection .Count() > 2) 
{ 
    barChart.Width = barChart.Width + (collection .Count() * 80); 
} 
+0

這將滾動整個圖表嗎?但我只想滾動X系列 – Goofy

+0

@Goofy是的,我同意你的看法。我有同樣的問題,最後我去解決這個問題。 – Jaihind

+0

好的,讓我試試一次 – Goofy