任何关于图表原型的想法:Edgepanel已经进入了Silverlight 5?

时间:2013-04-28 17:46:32

标签: charts silverlight-5.0

我(尝试)编写Silverlight 5应用程序代码来显示一些图表。我已经安装了Codeplex的Silverlight 5 Toolkit(2011年12月版),我已经自定义了图表控件模板,将图例移动到图表的底部,但是 - 一旦Legend重新定位开始工作 - ChartArea本身就会不显示任何数据。

尝试解决此问题(没有出现ChartArea数据)我已经包含了定义

的xmlns:chartingprimitives = “CLR-名称空间:System.Windows.Controls.DataVisualization.Charting.Primitives;装配= System.Windows.Controls.DataVisualization.Toolkit”

但是当我尝试修改模板以使用标签

<图表原型:Edgepanel>

Visual Web Developer 2012表示无法找到......

有人知道这个标签去了哪里?是否已将其移至另一个包含,或者已将其替换为标记,因为某些图表控件模板示例显示???

2 个答案:

答案 0 :(得分:0)

   <toolkit:Chart
                    x:Name="barStyledChart"
                    Foreground="#FF579ED4"
                    Style="{StaticResource GreenFxChartStyle}"
                    FontSize="8"
                    Width="290"
                    Height="170"
                    BorderThickness="0">
                    <toolkit:Chart.Axes>
                        <toolkit:LinearAxis ShowGridLines="True" Orientation="X" Interval="1">
                            <toolkit:LinearAxis.GridLineStyle>
                                <Style TargetType="Line">
                                    <Setter Property="Stroke" Value="#FF579ED4"></Setter>
                                </Style>
                            </toolkit:LinearAxis.GridLineStyle>
                        </toolkit:LinearAxis>
                        <toolkit:LinearAxis ShowGridLines="True" Orientation="Y" Location="Left" Minimum="0" Maximum="200">
                            <toolkit:LinearAxis.GridLineStyle>
                                <Style TargetType="Line">
                                    <Setter Property="Stroke" Value="#FF032F50"></Setter>
                                </Style>
                            </toolkit:LinearAxis.GridLineStyle>
                        </toolkit:LinearAxis>
                    </toolkit:Chart.Axes>
                    <toolkit:ColumnSeries Background="#FF53C023" 
            AnimationSequence="FirstToLast" 
            DependentValuePath="X" IndependentValuePath="Y">
            <toolkit:ColumnSeries.ItemsSource>
                <PointCollection>
                    <Point>100,2000</Point>
                    <Point>105,2001</Point>
                    <Point>98,2002</Point>
                    <Point>88,2003</Point>
                    <Point>150,2004</Point>
                    <Point>125,2005</Point>
                    <Point>93,2006</Point>
                    <Point>112,2007</Point>
                    <Point>145,2008</Point>
                    <Point>165,2009</Point>
                    <Point>173,2010</Point>
                    <Point>168,2011</Point>
                    <Point>160,2012</Point>
                    <Point>164,2013</Point>
                    <Point>158,2014</Point>                                                                     
                </PointCollection>
            </toolkit:ColumnSeries.ItemsSource>
                        <toolkit:ColumnSeries.DataPointStyle>
                            <Style TargetType="toolkit:ColumnDataPoint">
                                <Setter Property="Template">
                                    <Setter.Value>
                                        <ControlTemplate TargetType="toolkit:ColumnDataPoint">
                                            <Grid Width="10">
                                                <Border BorderBrush="White" BorderThickness="1">
                                                    <Rectangle Fill="#FF53C023" Opacity=".8"></Rectangle>
                                                </Border>
                                            </Grid>
                                        </ControlTemplate>
                                    </Setter.Value>
                                </Setter>
                            </Style>
                        </toolkit:ColumnSeries.DataPointStyle>
                    </toolkit:ColumnSeries>
                </toolkit:Chart>




<Application
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:toolkit="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit"
xmlns:datavis="clr-namespace:System.Windows.Controls.DataVisualization"
xmlns:chartingprimitives="clr-namespace:System.Windows.Controls.DataVisualization.Charting.Primitives;assembly=System.Windows.Controls.DataVisualization.Toolkit"
xmlns:vsm="clr-namespace:System.Windows;assembly=System.Windows"
xmlns:SampleData="clr-namespace:Expression.Blend.SampleData.ProgressionSequenceData" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d"
x:Class="SilverlightChartScratchpad.App">
<Application.Resources>
    <SampleData:ProgressionSequenceData x:Key="ProgressionSequenceData" d:IsDataSource="True"/>

    <Style x:Key="GreenFxChartStyle" TargetType="toolkit:Chart" >
      <Setter Property="BorderBrush" Value="Black" />
      <Setter Property="BorderThickness" Value="0" />
      <Setter Property="IsTabStop" Value="False" />
      <Setter Property="Padding" Value="10" />

        <Setter Property="Background">
            <Setter.Value>
                <LinearGradientBrush EndPoint="0.352,1.144" StartPoint="0.352,-0.161">
                    <GradientStop Color="#FF0585D6" Offset="0.268"/>
                    <GradientStop Color="#FF01336E" Offset="0.847"/>
                </LinearGradientBrush>
            </Setter.Value>
        </Setter>         

      <Setter Property="TitleStyle">
        <Setter.Value>
          <Style TargetType="toolkit:Title">
                            <Setter Property="Margin" Value="0" />
                            <Setter Property="Width" Value="0"/>
                            <Setter Property="Height" Value="0"/>
          </Style>
        </Setter.Value>
      </Setter>
      <Setter Property="LegendStyle">
        <Setter.Value>
          <Style TargetType="toolkit:Legend">
                            <Setter Property="Margin" Value="0" />
                            <Setter Property="Width" Value="0"/>
                            <Setter Property="Height" Value="0"/>
          </Style>
        </Setter.Value>
      </Setter>
      <Setter Property="ChartAreaStyle">
        <Setter.Value>
          <Style TargetType="Panel">
            <Setter Property="MinWidth" Value="100" />
            <Setter Property="MinHeight" Value="75" />
          </Style>
        </Setter.Value>
      </Setter>
      <Setter Property="PlotAreaStyle">
        <Setter.Value>
          <Style TargetType="Grid">
            <Setter Property="Background" Value="Transparent"></Setter>
          </Style>
        </Setter.Value>
      </Setter>
      <Setter Property="Template">
        <Setter.Value>
          <ControlTemplate TargetType="toolkit:Chart">
            <Border Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}">
              <Grid>
                <Grid.RowDefinitions>
                  <RowDefinition Height="Auto" />
                  <RowDefinition Height="*" />
                </Grid.RowDefinitions>
                <toolkit:Title Content="{TemplateBinding Title}" Style="{TemplateBinding TitleStyle}" />
                <!-- Use a nested Grid to avoid possible clipping behavior resulting from ColumnSpan+Width=Auto -->
                <Grid Grid.Row="1" Margin="0,0,0,0">
                  <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="*" />
                    <ColumnDefinition Width="Auto" />
                  </Grid.ColumnDefinitions>
                  <toolkit:Legend x:Name="Legend" Header="{TemplateBinding LegendTitle}" Style="{TemplateBinding LegendStyle}" Grid.Column="1" />
                  <chartingprimitives:EdgePanel x:Name="ChartArea" Style="{TemplateBinding ChartAreaStyle}">
                    <Grid Canvas.ZIndex="-1" Style="{TemplateBinding PlotAreaStyle}" />
                    <Border Canvas.ZIndex="10" BorderBrush="#FF032F50" BorderThickness="0,0,0,1" />
                  </chartingprimitives:EdgePanel>
                </Grid>
              </Grid>
            </Border>
          </ControlTemplate>
        </Setter.Value>
      </Setter>
    </Style>

</Application.Resources>

答案 1 :(得分:0)

现在不再关心了 - 2年前抛弃了所有Silverlight开发..