2014-09-16 5 views
0

j'ai hérité du travail sur un graphique StackedColumnSeries et que je me suis tourné dans un StackedBarSeries, de sorte que le graphique est sur le côté, j'ai deux problèmes:Chart Toolkit Silverlight Suppression Quadrillage

  1. La valeur minimale ne démarre pas à zéro.
  2. Je ne peux pas cacher le quadrillage vertical.

S'il vous plaît quelqu'un peut-il m'aider.

Le code XAML est ci-dessous:

<Style x:Key="XAxisLabel" TargetType="charting:AxisLabel"> 
    <Setter Property="StringFormat" Value="{}{0:#,k}"></Setter> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="charting:AxisLabel"> 
       <TextBlock Text="{TemplateBinding FormattedContent}" /> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 

<Style x:Key="YAxisLabel" TargetType="charting:AxisLabel"> 
    <Setter Property="StringFormat" Value=""></Setter> 
    <Setter Property="Visibility" Value="Collapsed"></Setter> 
</Style> 

<Style x:Key="SummaryGraphStyle" TargetType="charting:Chart"> 
    <Setter Property="PlotAreaStyle"> 
     <Setter.Value> 
      <Style TargetType="Grid"> 
       <Setter Property="HorizontalAlignment" Value="Left"/> 
       <Setter Property="Background" Value="Transparent"/> 
      </Style> 
     </Setter.Value> 
    </Setter> 

    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="charting:Chart"> 
       <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="1" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}"> 
        <Grid> 
         <Grid.RowDefinitions> 
          <RowDefinition Height="Auto"/> 
          <RowDefinition Height="*"/> 
         </Grid.RowDefinitions> 
         <!--<datavis:Title Content="{TemplateBinding Title}" Style="{TemplateBinding TitleStyle}"/>--> 
         <Grid Margin="0,0,0,15" Grid.Row="1"> 
          <Grid.ColumnDefinitions> 
           <ColumnDefinition Width="*"/> 
          </Grid.ColumnDefinitions> 

          <Charting_Primitives:EdgePanel x:Name="ChartArea"> 
           <Grid ShowGridLines="False" HorizontalAlignment="Left" Canvas.ZIndex="-1"/> 

           <Border BorderBrush="Black" BorderThickness="1,0,0,0" Canvas.ZIndex="10"/> 

          </Charting_Primitives:EdgePanel> 
         </Grid> 

        </Grid> 
       </Border> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 


<Grid x:Name="LayoutRoot" Background="Transparent"> 
    <Grid ShowGridLines="False" HorizontalAlignment="Center" x:Name="SummaryGraphGrid"> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="Auto" /> 
     </Grid.ColumnDefinitions> 
     <charting:Chart Loaded="Loaded" Width="{Binding ElementName=Graph, Path=GraphWidth}" Grid.Column="0" BorderBrush="Transparent" x:Name="SummaryGraph" 
             Style="{StaticResource SummaryGraphStyle}" BorderThickness="0" 
             VerticalAlignment="Stretch" HorizontalAlignment="Center"> 

      <charting:Chart.Axes> 
       <charting:LinearAxis AxisLabelStyle="{StaticResource YAxisLabel}" Minimum="0" Location="Right" ShowGridLines="False" BorderThickness="0" Orientation="Y" Background="Transparent"/> 
       <charting:CategoryAxis AxisLabelStyle="{StaticResource XAxisLabel}" Margin="5,0,0,0" Location="Left" ShowGridLines="False" BorderThickness="0" Background="Transparent" Orientation="X" /> 
      </charting:Chart.Axes> 
     </charting:Chart> 
    </Grid> 
</Grid> 

Image of barchart with lines etc

+0

Pour tout le travail que vous avez fait dans les contrôles de graphique ces derniers temps, avez-vous utilisez Blend pour creuser votre chemin à travers les modèles de style de contrôle? Parfois, vous devez creuser un peu. –

+0

Salut Chris, oui j'ai utilisé blend et obtenir les styles, puis les ajouter aux fichiers xaml, je commence à comprendre, mais c'est un peu différent du développement web normal que je fais. –

Répondre

0

J'ai réussi à trouver un morceau de code qui corriger ce problème, le code a été ajouté le code derrière.

((StackedBarSeries)this.SummaryGraph.Series[0]).DependentAxis = new LinearAxis() { Minimum = 0, Orientation = AxisOrientation.X }; 

enter image description here

Questions connexes