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;
                    }
  • 相关阅读:
    HDU 1069 Monkey and Banana
    HDU 1029 Ignatius and the Princess IV
    HDU 1024 Max Sum Plus Plus
    Gym100923H Por Costel and the Match
    Codeforces 682C Alyona and the Tree
    Codeforces 449B Jzzhu and Cities
    Codeforces (ccpc-wannafly camp day2) L. Por Costel and the Semipalindromes
    Codeforces 598D (ccpc-wannafly camp day1) Igor In the Museum
    Codeforces 1167c(ccpc wannafly camp day1) News Distribution 并查集模板
    快乐数问题
  • 原文地址:https://www.cnblogs.com/northriver/p/4964090.html
Copyright © 2011-2022 走看看