zoukankan      html  css  js  c++  java
  • WPF ToolKit Chart 自定义样式

    1.引用:WPFToolkit.dll, System.Windows.Controls.DataVisualization.Toolkit.dll

    2. 页面代码参考如下:

    <UserControl x:Class="GDNXFD.Alert.IFIXControls.StationPieChart"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:charting="clr-namespace:System.Windows.Controls.DataVisualization.Charting;assembly=System.Windows.Controls.DataVisualization.Toolkit"
        xmlns:datavis="clr-namespace:System.Windows.Controls.DataVisualization;assembly=System.Windows.Controls.DataVisualization.Toolkit"
        xmlns:chartingprimitives="clr-namespace:System.Windows.Controls.DataVisualization.Charting.Primitives;assembly=System.Windows.Controls.DataVisualization.Toolkit"
        Height="200">
        <Border BorderThickness="0,0,0,1" BorderBrush="#FFFFFFFF" Padding="10,0,10,10">
            <StackPanel>
                <charting:Chart>
                    <charting:Chart.Template>
                        <ControlTemplate TargetType="{x:Type charting:Chart}">
                            <Border Background="{TemplateBinding Background}" 
                                    BorderBrush="{TemplateBinding BorderBrush}" 
                                    BorderThickness="{TemplateBinding BorderThickness}" 
                                    Padding="{TemplateBinding Padding}">
                                <Grid>
                                    <Grid.RowDefinitions>
                                        <RowDefinition Height="Auto" />
                                        <RowDefinition Height="*" />
                                    </Grid.RowDefinitions>
                                    <Grid.ColumnDefinitions>
                                        <ColumnDefinition Width="*" />
                                        <ColumnDefinition Width="90" />
                                    </Grid.ColumnDefinitions>
    
                                    <datavis:Title Content="{TemplateBinding Title}" 
                                                   Style="{TemplateBinding TitleStyle}" />
                                    <chartingprimitives:EdgePanel Name="ChartArea"  Height="160"
                                        Style="{TemplateBinding ChartAreaStyle}" 
                                        Grid.Column="0" Margin="5 5 0 5">
                                        <Grid Panel.ZIndex="-1" Style="{TemplateBinding PlotAreaStyle}" />
                                        <Border Panel.ZIndex="10" BorderBrush="#FF919191" BorderThickness="1" />
                                    </chartingprimitives:EdgePanel>
                                    <datavis:Legend x:Name="Legend" Height="160"
                                            Grid.Column="1" Title="{TemplateBinding LegendTitle}" 
                                            Style="{TemplateBinding LegendStyle}" 
                                            VerticalAlignment="Top" HorizontalAlignment="Left" 
                                            Margin="0 5 5 5" />
    
                                </Grid>
                            </Border>
                        </ControlTemplate>
                    </charting:Chart.Template>
                    <charting:PieSeries Name="pieChart" 
                         DependentValuePath="Total" 
                         IndependentValuePath="ObjectName" 
                         Background="Navy"
                         IsSelectionEnabled="True" >
                    </charting:PieSeries>
                </charting:Chart>
            </StackPanel>
        </Border>
    </UserControl>

    3. 后台代码参考:

                    IList<AlertSnap> lst = ClientCache.Instance.AlertSnaps;
                    if (lst != null)
                    {
                        var q = from p in lst
                                group p by p.StationName into g
                                select new RankingModel
                                {
                                    ObjectName = GetSimplifyStationName( g.Key),
                                    Total = g.Count()
                                };
                        var x = q.OrderByDescending(a => a.Total).Take(9).ToArray();
    
                        this.pieChart.ItemsSource = x;
                    }
  • 相关阅读:
    项目检出JRE问题(Unbound classpath container: 'JRE System Library [JavaSE-1.7]' in project 'idweb')
    OpenCV 4 Python高级配置—安装setuptools,matplotlib,six,dateutil,pyparsing 完整过程
    OpenCV249 for python278 最简配置方案
    纯Python综合图像处理小工具(4)自定义像素级处理(剪纸滤镜)
    纯Python综合图像处理小工具(3)10种滤镜算法
    纯Python综合图像处理小工具(2)图像增强
    纯Python综合图像处理小工具(1)分通道直方图
    树莓派2代干货帖(第一天)按图索骥的搭建
    jQuery慢慢啃之特效(八)
    jQuery慢慢啃之事件(七)
  • 原文地址:https://www.cnblogs.com/northriver/p/4964090.html
Copyright © 2011-2022 走看看