WPF 后台管理UI 2

整体效果

在这里插入图片描述

设计原型

https://www.freeuid.com/3817.html

图标字体

在这里插入图片描述

https://download.csdn.net/download/weixin_45876789/88478478

MenuModel.cs
namespace UISample2.Model
{
    public class MenuModel
    {
        public string Icon { get; set; }
        public string Menu { get; set; }
        public string Down { get; set; }
    }
}
MainViewModel.cs

using LiveCharts;
using LiveCharts.Wpf;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Threading;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Media;
using UISample2.Model;

namespace UISample2.ViewModel
{
    public class MainViewModel
    {
        public ObservableCollection<MenuModel> MenuModels { get; set; }

        public MainViewModel()
        {
            InitMenuModel();


            //初始化数据
            List<string> titles = new List<string> { "一层", "二层", "三层" };

            List<List<int>> values = new List<List<int>>
            {
                new List<int> { 20, 10, 50 , 10, 50 , 10, 50 , 10, 50 , 10, 50 , 10 },//, 50 , 10,  10, 50,10, 50
                new List<int> { 20, 10, 50 , 10, 50 , 10, 50 , 10, 50 , 10, 50 , 10 },//, 50 , 10,  10, 50,10, 50
                new List<int> { 10, 50, 30 , 50, 30 , 50, 30 , 50, 30 , 50, 30 , 50 }//, 30 , 30 , 50, 30 , 10, 50
            };
            List<string> _dates = new List<string>();

            for (int i = 0; i < titles.Count; i++)
            {
                var fill = new SolidColorBrush
                {
                    Opacity = 1
                };
                LineSeries lineseries = new LineSeries
                {
                    DataLabels = true,
                    Title = titles[i],
                    Foreground = fill,
                    Fill = fill,
                    Values = new ChartValues<int>(values[i])
                };

                LineSeriesCollection.Add(lineseries);
            }

            //动态数据

            Task.Run(() =>
            {
                while (true)
                {
                    Thread.Sleep(1000);

                    Application.Current.Dispatcher.Invoke(() =>
                    {
                        var r = new Random();

                        //更新纵坐标数据
                        LineSeriesCollection[0].Values.Add(r.Next(80, 100));
                        LineSeriesCollection[0].Values.RemoveAt(0);

                        LineSeriesCollection[1].Values.Add(r.Next(60, 120));
                        LineSeriesCollection[1].Values.RemoveAt(0);

                        LineSeriesCollection[2].Values.Add(r.Next(60, 120));
                        LineSeriesCollection[2].Values.RemoveAt(0);
                    });

                }
            });
        }

        public SeriesCollection lineSeriesCollection = new SeriesCollection();

        public SeriesCollection LineSeriesCollection
        {
            get
            {
                return lineSeriesCollection;
            }

            set
            {
                lineSeriesCollection = value;
            }
        }

        public void InitMenuModel()
        {
            MenuModels = new ObservableCollection<MenuModel> {
                new MenuModel(){Icon="\xe600", Menu="Dashboard", Down=""},
                new MenuModel(){Icon="\xe601", Menu="Reviews", Down="\xe607"},
                new MenuModel(){Icon="\xe606", Menu="Customers", Down="\xe607"},
                new MenuModel(){Icon="\xe603", Menu="Invitations", Down="\xe607"},
                new MenuModel(){Icon="\xe605", Menu="Widgets", Down="\xe607"},
                new MenuModel(){Icon="\xe604", Menu="Landing page", Down="\xe607"},
                new MenuModel(){Icon="\xe602", Menu="Configurations", Down="\xe607"},
            };
        }

    }
}

MainWindow.xaml
<Window x:Class="UISample2.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf"
        xmlns:viewmodel="clr-namespace:UISample2.ViewModel" xmlns:svgc="http://sharpvectors.codeplex.com/svgc/"
        mc:Ignorable="d"
        Title="MainWindow" Height="954" Width="1440">
    <Window.DataContext>
        <viewmodel:MainViewModel />
    </Window.DataContext>
    <Window.Resources>
        <Style x:Key="radioButtonStyle" TargetType="RadioButton">
            <Setter Property="Background" Value="Transparent"/>
            <Setter Property="BorderThickness" Value="0"/>
            <Setter Property="FocusVisualStyle" Value="{x:Null}"/>
            <Setter Property="VerticalAlignment" Value="Center"/>
            <Setter Property="HorizontalAlignment" Value="Center"/>
            <Setter Property="Foreground" Value="#808c93"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="RadioButton">
                        <Grid Background="Transparent">
                            <Border x:Name="border" />
                            <ContentPresenter Width="{TemplateBinding Width}" x:Name="contentPresenter" Grid.Column="1" Focusable="False" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
                        </Grid>
                        <ControlTemplate.Triggers>
                            <Trigger Property="IsChecked" Value="False">
                                <Setter Property="Foreground" Value="#a9b7f6"/>
                            </Trigger>

                            <Trigger Property="IsChecked" Value="True">
                                <Setter Property="Foreground" Value="#ffffff"/>
                                <Setter Property="Background" Value="black" TargetName="border" />
                                <Setter Property="Opacity"  Value="0.1" TargetName="border"/>
                            </Trigger>

                            <Trigger Property="IsMouseOver" Value="True">
                                <Setter Property="Background" Value="black" TargetName="border" />
                                <Setter Property="Opacity"  Value="0.1" TargetName="border"/>
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </Window.Resources>
    <Grid Background="#f0f3f8">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="250"/>
            <ColumnDefinition/>
        </Grid.ColumnDefinitions>
        <!-- 菜单栏 -->
        <Border Background="#274ae8" CornerRadius="0,0,40,0" />
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition Height="100"/>
                <RowDefinition/>
            </Grid.RowDefinitions>

            <!-- 个人信息 -->
            <DockPanel VerticalAlignment="Center" Margin="30,50,0,0">
                <Border Width="46" Height="46" CornerRadius="12" HorizontalAlignment="Left">
                    <Border.Background>
                        <ImageBrush ImageSource="Image/owen.jpg" />
                    </Border.Background>
                </Border>
                <UniformGrid Rows="2" Margin="10,0,0,0" >
                    <TextBlock Text="ow.z" Foreground="White" FontSize="16" VerticalAlignment="Center"/>
                    <TextBlock Text="ow.z@gmail.com" Foreground="#aab8f8" FontSize="14" VerticalAlignment="Center"/>
                </UniformGrid>
            </DockPanel>

            <!-- 功能菜单 -->
            <ItemsControl Grid.Row="1" ItemsSource="{Binding MenuModels}" Margin="0,20,0,0">
                <ItemsControl.ItemTemplate>
                    <DataTemplate>
                        <!-- 单选分组 -->
                        <RadioButton Style="{StaticResource radioButtonStyle}" HorizontalAlignment="Left" Width="250" GroupName="Menu" >
                            <Grid Margin="30" Height="22" VerticalAlignment="Center">
                                <StackPanel Orientation="Horizontal">
                                    <TextBlock Text="{Binding Icon}" FontFamily="Font/#iconfont"  FontSize="20" VerticalAlignment="Center"/>
                                    <TextBlock Text="{Binding Menu}" Margin="15,0,0,0" FontSize="16" VerticalAlignment="Center"/>
                                </StackPanel>
                                <TextBlock Text="{Binding Down}" FontFamily="Font/#iconfont" FontSize="8" HorizontalAlignment="Right" VerticalAlignment="Center"/>
                            </Grid>
                        </RadioButton>
                    </DataTemplate>
                </ItemsControl.ItemTemplate>
            </ItemsControl>
        </Grid>

        <!-- 主界面 -->
        <Grid Grid.Column="1">
            <Grid.RowDefinitions>
                <RowDefinition Height="100"/>
                <RowDefinition Height="1.2*"/>
                <RowDefinition Height="0.9*"/>
                <RowDefinition/>
            </Grid.RowDefinitions>

            <!-- 顶部筛选 -->
            <Grid Margin="50,0,50,0">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="250"/>
                    <ColumnDefinition  />
                </Grid.ColumnDefinitions>
                <!-- Month -->
                <DockPanel LastChildFill="False" >
                    <Border Background="White" Height="40" Width="180" CornerRadius="8" >
                        <DockPanel>
                            <TextBlock Text="&#xe60a;" FontFamily="Font/#iconfont" FontSize="18" Foreground="#97a5bb" Margin="20,10,15,10"  VerticalAlignment="Center" />
                            <TextBlock Text="Month" VerticalAlignment="Center"/>
                            <TextBlock Text="&#xe607;" FontFamily="Font/#iconfont" FontSize="10" Foreground="#97a5bb" Margin="0,0,15,0" VerticalAlignment="Center" HorizontalAlignment="Right" />
                        </DockPanel>
                    </Border>

                    <Border Background="White" Height="40" Width="40" DockPanel.Dock="Right" CornerRadius="8">
                        <TextBlock Text="&#xe610;" FontFamily="Font/#iconfont" FontSize="18" Foreground="#97a5bb" VerticalAlignment="Center" HorizontalAlignment="Center" />
                    </Border>
                </DockPanel>

                <!-- 图标 -->
                <DockPanel Grid.Column="1" LastChildFill="False">
                    <UniformGrid Columns="3" Height="40" Width="150" DockPanel.Dock="Right">
                        <StackPanel Orientation="Horizontal">
                            <TextBlock Text="&#xe60e;" FontFamily="Font/#iconfont" FontSize="18" Foreground="#97a5bb" VerticalAlignment="Center" HorizontalAlignment="Center" />
                            <Border Background="#e02020" Width="6" Height="6" CornerRadius="3" Margin="-10,-5,0,0"/>
                        </StackPanel>
                        <TextBlock Text="&#xe615;" FontFamily="Font/#iconfont" FontSize="18" Foreground="#97a5bb" VerticalAlignment="Center" HorizontalAlignment="Center" />
                        <TextBlock Text="&#xe611;" FontFamily="Font/#iconfont" FontSize="18" Foreground="#97a5bb" VerticalAlignment="Center" HorizontalAlignment="Right" />
                    </UniformGrid>
                </DockPanel>
            </Grid>

            <!-- 图表展示 -->
            <Grid Grid.Row="1" Margin="50,0,50,0">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="265"/>
                    <ColumnDefinition />
                </Grid.ColumnDefinitions>

                <Border Background="White" CornerRadius="14" Margin="0,0,15,0" />
                <Grid Margin="30,0,45,0">
                    <Grid.RowDefinitions>
                        <RowDefinition/>
                        <RowDefinition Height ="4*" />
                    </Grid.RowDefinitions>
                    <TextBlock Text="OVERAL STATISTICS" Foreground="#6e6e6e" FontWeight="Bold" VerticalAlignment="Center" />

                    <Grid Grid.Row="1">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="1.5*"/>
                            <ColumnDefinition />
                        </Grid.ColumnDefinitions>
                        <Grid.RowDefinitions>
                            <RowDefinition />
                            <RowDefinition Height="2*"/>
                        </Grid.RowDefinitions>

                        <StackPanel>
                            <TextBlock Text="5.0" FontSize="42" Foreground="#141414" VerticalAlignment="Center" />
                            <TextBlock Text="Rating" FontSize="18" Foreground="#888c91" VerticalAlignment="Center" />
                        </StackPanel>
                        <StackPanel Grid.Column="1">
                            <TextBlock Text="70" FontSize="42" Foreground="#141414" VerticalAlignment="Center" />
                            <TextBlock Text="Reviews" FontSize="18" Foreground="#888c91" VerticalAlignment="Center" />
                        </StackPanel>

                        <Grid  Grid.Row="2" Grid.ColumnSpan="2">
                            <lvc:PieChart Name="pipChart" LegendLocation="Right" DataClick="PipChart_DataClick" Hoverable="True" DataTooltip="{x:Null}">
                                <lvc:PieChart.Series>
                                    <lvc:PieSeries Title="5/15" Values="5"/>
                                    <lvc:PieSeries Title="4/15" Values="4"/>
                                    <lvc:PieSeries Title="3/15" Values="3"/>
                                    <lvc:PieSeries Title="2/15" Values="2"/>
                                    <lvc:PieSeries Title="1/15" Values="1"/>
                                </lvc:PieChart.Series>
                            </lvc:PieChart>
                        </Grid>
                    </Grid>
                </Grid>

                <Border Grid.Column="1" Background="White" CornerRadius="14" Margin="15,0,0,0"/>
                <Grid  Grid.Column="1">
                    <Grid.RowDefinitions>
                        <RowDefinition/>
                        <RowDefinition Height="4*"/>
                    </Grid.RowDefinitions>
                    <StackPanel Orientation="Horizontal">
                        <TextBlock Text="Average rating" Foreground="#a6a6bd" FontSize="18" VerticalAlignment="Center" Margin="50,0,0,0"/>
                        <TextBlock Text="Average reviews" Foreground="#1777e8" FontSize="18" VerticalAlignment="Center" Margin="50,0,0,0"/>
                    </StackPanel>

                    <lvc:CartesianChart Series="{Binding LineSeriesCollection}"  Grid.Row="2" Margin="30,0,20,30" LegendLocation="Top">
                        <lvc:CartesianChart.AxisY >
                            <lvc:Axis >
                            </lvc:Axis>
                        </lvc:CartesianChart.AxisY>
                        <lvc:CartesianChart.AxisX>
                            <lvc:Axis Labels="{Binding  LineXLabels}">
                                <lvc:Axis.Separator>
                                    <lvc:Separator Step="1" Visibility="Hidden" StrokeThickness="1.5" StrokeDashArray="0" Stroke="#404F56"></lvc:Separator>
                                </lvc:Axis.Separator>
                            </lvc:Axis>
                        </lvc:CartesianChart.AxisX>
                    </lvc:CartesianChart>

                </Grid>
            </Grid>

            <!-- 中间占比 -->
            <Grid Grid.Row="2" Margin="50,30,50,0">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition/>
                    <ColumnDefinition/>
                    <ColumnDefinition/>
                    <ColumnDefinition/>
                </Grid.ColumnDefinitions>

                <Border Background="White" CornerRadius="14" Margin="0,0,22.5,0" />
                <Grid Margin="30,30,55,30" >
                    <Grid.RowDefinitions>
                        <RowDefinition/>
                        <RowDefinition Height="1.5*"/>
                        <RowDefinition/>
                        <RowDefinition/>
                    </Grid.RowDefinitions>

                    <TextBlock Text="INVITES SENT" VerticalAlignment="Center" Foreground="#888888" FontWeight="Bold"/>

                    <StackPanel Grid.Row="1" Orientation="Horizontal">
                        <Border Background="#6236ff" Width="40" Height="40" CornerRadius="6" VerticalAlignment="Center">
                            <TextBlock Text="&#xe609;" FontFamily="Font/#iconfont" FontSize="18" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center"/>
                        </Border>
                        <TextBlock Text="2" FontSize="30" Foreground="#6236ff" VerticalAlignment="Center" Margin="10,0,0,0"/>
                    </StackPanel>

                    <StackPanel Grid.Row="2" Orientation="Horizontal">
                        <TextBlock Text="See customers" VerticalAlignment="Bottom" Foreground="#0091ff" />
                        <TextBlock Text="that haven't" VerticalAlignment="Bottom" Foreground="#888888" Margin="5,0,0,0" />
                    </StackPanel>

                    <TextBlock Grid.Row="3" Text="been sent an invite" VerticalAlignment="Center" Foreground="#888888" />
                </Grid>

                <Border Grid.Column="1" Background="White" CornerRadius="14" Margin="7.5,0,15,0" />
                <Grid Margin="35,30,50,30" Grid.Column="1">
                    <Grid.RowDefinitions>
                        <RowDefinition/>
                        <RowDefinition Height="1.5*"/>
                        <RowDefinition/>
                        <RowDefinition/>
                    </Grid.RowDefinitions>

                    <TextBlock Text="CLICK RATE" VerticalAlignment="Center" Foreground="#888888" FontWeight="Bold"/>

                    <StackPanel Grid.Row="1" Orientation="Horizontal">
                        <Border Background="#b620e0" Width="40" Height="40" CornerRadius="6" VerticalAlignment="Center">
                            <TextBlock Text="&#xe60f;" FontFamily="Font/#iconfont" FontSize="18" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center"/>
                        </Border>
                        <TextBlock Text="1.0%" FontSize="30" Foreground="#b620e0" VerticalAlignment="Center" Margin="10,0,0,0"/>
                    </StackPanel>

                    <StackPanel Grid.Row="2" Orientation="Horizontal">
                        <TextBlock Text="See customers" VerticalAlignment="Bottom" Foreground="#0091ff" />
                        <TextBlock Text="that haven't" VerticalAlignment="Bottom" Foreground="#888888" Margin="5,0,0,0" />
                    </StackPanel>

                    <TextBlock Grid.Row="3" Text="clicked the review invite link" VerticalAlignment="Center" Foreground="#888888" />
                </Grid>

                <Border Grid.Column="2" Background="White" CornerRadius="14" Margin="15,0,7.5,0" />
                <Grid Margin="45,30,40,30" Grid.Column="2">
                    <Grid.RowDefinitions>
                        <RowDefinition/>
                        <RowDefinition Height="1.5*"/>
                        <RowDefinition/>
                        <RowDefinition/>
                    </Grid.RowDefinitions>

                    <TextBlock Text="REVIEWS" VerticalAlignment="Center" Foreground="#888888" FontWeight="Bold"/>

                    <StackPanel Grid.Row="1" Orientation="Horizontal">
                        <Border Background="#26c8f0" Width="40" Height="40" CornerRadius="6" VerticalAlignment="Center">
                            <TextBlock Text="&#xe60d;" FontFamily="Font/#iconfont" FontSize="18" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center"/>
                        </Border>
                        <TextBlock Text="40" FontSize="30" Foreground="#26c8f0" VerticalAlignment="Center" Margin="10,0,0,0"/>
                    </StackPanel>

                    <StackPanel Grid.Row="2" Orientation="Horizontal">
                        <TextBlock Text="See all customers" VerticalAlignment="Bottom" Foreground="#0091ff" />
                        <TextBlock Text="that" VerticalAlignment="Bottom" Foreground="#888888" Margin="5,0,0,0" />
                    </StackPanel>

                    <TextBlock Grid.Row="3" Text="leaved the reviews" VerticalAlignment="Center" Foreground="#888888" />
                </Grid>

                <Border Grid.Column="3" Background="White" CornerRadius="14" Margin="22.5,0,0,0" />
                <Grid Margin="50,30,35,30" Grid.Column="3">
                    <Grid.RowDefinitions>
                        <RowDefinition/>
                        <RowDefinition Height="1.5*"/>
                        <RowDefinition/>
                        <RowDefinition/>
                    </Grid.RowDefinitions>

                    <TextBlock Text="RESPONSE RATE" VerticalAlignment="Center" Foreground="#888888" FontWeight="Bold"/>

                    <StackPanel Grid.Row="1" Orientation="Horizontal">
                        <Border Background="#20e0a5" Width="40" Height="40" CornerRadius="6" VerticalAlignment="Center">
                            <TextBlock Text="&#xe60c;" FontFamily="Font/#iconfont" FontSize="18" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center"/>
                        </Border>
                        <TextBlock Text="0.0%" FontSize="30" Foreground="#20e0a5" VerticalAlignment="Center" Margin="10,0,0,0"/>
                    </StackPanel>

                    <StackPanel Grid.Row="2" Orientation="Horizontal">
                        <TextBlock Text="See reviews" VerticalAlignment="Bottom" Foreground="#0091ff" />
                        <TextBlock Text="which haven't" VerticalAlignment="Bottom" Foreground="#888888" Margin="5,0,0,0" />
                    </StackPanel>

                    <TextBlock Grid.Row="3" Text="been responded to" VerticalAlignment="Center" Foreground="#888888" />
                </Grid>

            </Grid>

            <!-- 底部进度 -->
            <Grid Grid.Row="3" Margin="50,30,50,30">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition/>
                    <ColumnDefinition/>
                    <ColumnDefinition/>
                </Grid.ColumnDefinitions>
                
                <Border Background="White" CornerRadius="14" Margin="0,0,20,0" />
                <Grid Margin="0,20,0,0">
                    <Grid.RowDefinitions>
                        <RowDefinition/>
                        <RowDefinition  Height="2*"/>
                    </Grid.RowDefinitions>

                    <StackPanel Orientation="Horizontal" Margin="20,0,40,0">
                        <svgc:SvgViewbox IsHitTestVisible="False" Source="pack://application:,,,/Image/yelp.svg" Width="40" Height="40" />
                        <StackPanel VerticalAlignment="Center" Margin="10,0,0,0">
                            <TextBlock Text="Yelp" FontWeight="Bold" FontSize="18" />
                            <StackPanel Orientation="Horizontal">
                                <TextBlock Text="5.0" FontWeight="Bold" VerticalAlignment="Center" FontSize="16"/>
                                <TextBlock Text="&#xe60b;" FontFamily="Font/#iconfont" Foreground="#ffc935" FontSize="16" VerticalAlignment="Center" Margin="10,0,0,0"/>
                                <TextBlock Text="&#xe60b;" FontFamily="Font/#iconfont" Foreground="#ffc935" FontSize="16" VerticalAlignment="Center" Margin="5,0,0,0"/>
                                <TextBlock Text="&#xe60b;" FontFamily="Font/#iconfont" Foreground="#ffc935" FontSize="16" VerticalAlignment="Center" Margin="5,0,0,0"/>
                                <TextBlock Text="&#xe60b;" FontFamily="Font/#iconfont" Foreground="#ffc935" FontSize="16" VerticalAlignment="Center" Margin="5,0,0,0"/>
                                <TextBlock Text="&#xe60b;" FontFamily="Font/#iconfont" Foreground="#ffc935" FontSize="16" VerticalAlignment="Center" Margin="5,0,0,0"/>
                                <TextBlock Text="40 reviews" Foreground="#777c82" FontSize="16" Margin="15,0,0,0"/>
                            </StackPanel>
                        </StackPanel>
                    </StackPanel>

                    <UniformGrid Grid.Row="1" Columns="3" Rows="2" Margin="20,10,40,10">
                        <StackPanel VerticalAlignment="Center" Margin="10,0,10,0">
                            <ProgressBar Maximum="30" Minimum="0" Height="5" Value="18" Foreground="#FFFFC935" BorderBrush="{x:Null}" Background="#FFEEEEEE" BorderThickness="0,0,0.5,0" />
                            <StackPanel Orientation="Horizontal">
                                <TextBlock Text="18" Margin="0,10,0,0"/>
                                <TextBlock Text="/ 30" Margin="5,10,0,0" Foreground="#7f8389"/>
                            </StackPanel>
                        </StackPanel>

                        <StackPanel VerticalAlignment="Center" Margin="10,0,10,0">
                            <ProgressBar Maximum="30" Minimum="0" Height="5" Value="4" Foreground="#58d0ff" BorderBrush="{x:Null}" Background="#FFEEEEEE" BorderThickness="0,0,0.5,0" />
                            <StackPanel Orientation="Horizontal">
                                <TextBlock Text="4" Margin="0,10,0,0"/>
                                <TextBlock Text="/ 30" Margin="5,10,0,0" Foreground="#7f8389"/>
                            </StackPanel>
                        </StackPanel>

                        <StackPanel VerticalAlignment="Center" Margin="10,0,10,0">
                            <ProgressBar Maximum="30" Minimum="0" Height="5" Value="9" Foreground="#8479ff" BorderBrush="{x:Null}" Background="#FFEEEEEE" BorderThickness="0,0,0.5,0" />
                            <StackPanel Orientation="Horizontal">
                                <TextBlock Text="9" Margin="0,10,0,0"/>
                                <TextBlock Text="/ 30" Margin="5,10,0,0" Foreground="#7f8389"/>
                            </StackPanel>
                        </StackPanel>

                        <StackPanel VerticalAlignment="Center" Margin="10,0,10,0">
                            <ProgressBar Maximum="30" Minimum="0" Height="5" Value="5" Foreground="#ff8c23" BorderBrush="{x:Null}" Background="#FFEEEEEE" BorderThickness="0,0,0.5,0" />
                            <StackPanel Orientation="Horizontal">
                                <TextBlock Text="5" Margin="0,10,0,0"/>
                                <TextBlock Text="/ 30" Margin="5,10,0,0" Foreground="#7f8389"/>
                            </StackPanel>
                        </StackPanel>


                        <StackPanel VerticalAlignment="Center" Margin="10,0,10,0">
                            <ProgressBar Maximum="30" Minimum="0" Height="5" Value="16" Foreground="#ff6161" BorderBrush="{x:Null}" Background="#FFEEEEEE" BorderThickness="0,0,0.5,0" />
                            <StackPanel Orientation="Horizontal">
                                <TextBlock Text="16" Margin="0,10,0,0"/>
                                <TextBlock Text="/ 30" Margin="5,10,0,0" Foreground="#7f8389"/>
                            </StackPanel>
                        </StackPanel>
                    </UniformGrid>
                </Grid>

                <Border Grid.Column="1" Background="White" CornerRadius="14" Margin="10,0,10,0" />
                <Grid Grid.Column="1" Margin="0,20,0,0" >
                    <Grid.RowDefinitions>
                        <RowDefinition/>
                        <RowDefinition  Height="2*"/>
                    </Grid.RowDefinitions>

                    <StackPanel Orientation="Horizontal" Margin="30,0,30,0">
                        <svgc:SvgViewbox IsHitTestVisible="False" Source="pack://application:,,,/Image/facebook.svg" Width="40" Height="40" />
                        <StackPanel VerticalAlignment="Center" Margin="10,0,0,0">
                            <TextBlock Text="Facebook" FontWeight="Bold" FontSize="18" />
                            <StackPanel Orientation="Horizontal">
                                <TextBlock Text="4.0" FontWeight="Bold" VerticalAlignment="Center" FontSize="16"/>
                                <TextBlock Text="&#xe60b;" FontFamily="Font/#iconfont" Foreground="#ffc935" FontSize="16" VerticalAlignment="Center" Margin="10,0,0,0"/>
                                <TextBlock Text="&#xe60b;" FontFamily="Font/#iconfont" Foreground="#ffc935" FontSize="16" VerticalAlignment="Center" Margin="5,0,0,0"/>
                                <TextBlock Text="&#xe60b;" FontFamily="Font/#iconfont" Foreground="#ffc935" FontSize="16" VerticalAlignment="Center" Margin="5,0,0,0"/>
                                <TextBlock Text="&#xe60b;" FontFamily="Font/#iconfont" Foreground="#ffc935" FontSize="16" VerticalAlignment="Center" Margin="5,0,0,0"/>
                                <TextBlock Text="&#xe60b;" FontFamily="Font/#iconfont" Foreground="#e3e3e3" FontSize="16" VerticalAlignment="Center" Margin="5,0,0,0"/>
                                <TextBlock Text="40 reviews" Foreground="#777c82" FontSize="16" Margin="15,0,0,0"/>
                            </StackPanel>
                        </StackPanel>
                    </StackPanel>

                    <UniformGrid Grid.Row="1" Columns="3" Rows="2" Margin="30,10,30,10">
                        <StackPanel VerticalAlignment="Center" Margin="10,0,10,0">
                            <ProgressBar Maximum="30" Minimum="0" Height="5" Value="18" Foreground="#FFFFC935" BorderBrush="{x:Null}" Background="#FFEEEEEE" BorderThickness="0,0,0.5,0" />
                            <StackPanel Orientation="Horizontal">
                                <TextBlock Text="18" Margin="0,10,0,0"/>
                                <TextBlock Text="/ 30" Margin="5,10,0,0" Foreground="#7f8389"/>
                            </StackPanel>
                        </StackPanel>

                        <StackPanel VerticalAlignment="Center" Margin="10,0,10,0">
                            <ProgressBar Maximum="30" Minimum="0" Height="5" Value="4" Foreground="#58d0ff" BorderBrush="{x:Null}" Background="#FFEEEEEE" BorderThickness="0,0,0.5,0" />
                            <StackPanel Orientation="Horizontal">
                                <TextBlock Text="4" Margin="0,10,0,0"/>
                                <TextBlock Text="/ 30" Margin="5,10,0,0" Foreground="#7f8389"/>
                            </StackPanel>
                        </StackPanel>

                        <StackPanel VerticalAlignment="Center" Margin="10,0,10,0">
                            <ProgressBar Maximum="30" Minimum="0" Height="5" Value="9" Foreground="#8479ff" BorderBrush="{x:Null}" Background="#FFEEEEEE" BorderThickness="0,0,0.5,0" />
                            <StackPanel Orientation="Horizontal">
                                <TextBlock Text="9" Margin="0,10,0,0"/>
                                <TextBlock Text="/ 30" Margin="5,10,0,0" Foreground="#7f8389"/>
                            </StackPanel>
                        </StackPanel>

                        <StackPanel VerticalAlignment="Center" Margin="10,0,10,0">
                            <ProgressBar Maximum="30" Minimum="0" Height="5" Value="5" Foreground="#ff8c23" BorderBrush="{x:Null}" Background="#FFEEEEEE" BorderThickness="0,0,0.5,0" />
                            <StackPanel Orientation="Horizontal">
                                <TextBlock Text="5" Margin="0,10,0,0"/>
                                <TextBlock Text="/ 30" Margin="5,10,0,0" Foreground="#7f8389"/>
                            </StackPanel>
                        </StackPanel>


                        <StackPanel VerticalAlignment="Center" Margin="10,0,10,0">
                            <ProgressBar Maximum="30" Minimum="0" Height="5" Value="16" Foreground="#ff6161" BorderBrush="{x:Null}" Background="#FFEEEEEE" BorderThickness="0,0,0.5,0" />
                            <StackPanel Orientation="Horizontal">
                                <TextBlock Text="16" Margin="0,10,0,0"/>
                                <TextBlock Text="/ 30" Margin="5,10,0,0" Foreground="#7f8389"/>
                            </StackPanel>
                        </StackPanel>
                    </UniformGrid>
                </Grid>

                <Border Grid.Column="2" Background="White" CornerRadius="14" Margin="20,0,0,0" />
                <Grid Grid.Column="2"  Margin="0,20,0,0" >
                    <Grid.RowDefinitions>
                        <RowDefinition/>
                        <RowDefinition  Height="2*"/>
                    </Grid.RowDefinitions>

                    <StackPanel Orientation="Horizontal" Margin="40,0,20,0">
                        <svgc:SvgViewbox IsHitTestVisible="False" Source="pack://application:,,,/Image/twitter.svg" Width="40" Height="40" />
                        <StackPanel VerticalAlignment="Center" Margin="10,0,0,0">
                            <TextBlock Text="Twitter" FontWeight="Bold" FontSize="18" />
                            <StackPanel Orientation="Horizontal">
                                <TextBlock Text="3.0" FontWeight="Bold" VerticalAlignment="Center" FontSize="16"/>
                                <TextBlock Text="&#xe60b;" FontFamily="Font/#iconfont" Foreground="#ffc935" FontSize="16" VerticalAlignment="Center" Margin="10,0,0,0"/>
                                <TextBlock Text="&#xe60b;" FontFamily="Font/#iconfont" Foreground="#ffc935" FontSize="16" VerticalAlignment="Center" Margin="5,0,0,0"/>
                                <TextBlock Text="&#xe60b;" FontFamily="Font/#iconfont" Foreground="#ffc935" FontSize="16" VerticalAlignment="Center" Margin="5,0,0,0"/>
                                <TextBlock Text="&#xe60b;" FontFamily="Font/#iconfont" Foreground="#e3e3e3" FontSize="16" VerticalAlignment="Center" Margin="5,0,0,0"/>
                                <TextBlock Text="&#xe60b;" FontFamily="Font/#iconfont" Foreground="#e3e3e3" FontSize="16" VerticalAlignment="Center" Margin="5,0,0,0"/>
                                <TextBlock Text="40 reviews" Foreground="#777c82" FontSize="16" Margin="15,0,0,0"/>
                            </StackPanel>
                        </StackPanel>
                    </StackPanel>

                    <UniformGrid Grid.Row="1" Columns="3" Rows="2" Margin="40,10,20,10">
                        <StackPanel VerticalAlignment="Center" Margin="10,0,10,0">
                            <ProgressBar Maximum="30" Minimum="0" Height="5" Value="18" Foreground="#FFFFC935" BorderBrush="{x:Null}" Background="#FFEEEEEE" BorderThickness="0,0,0.5,0" />
                            <StackPanel Orientation="Horizontal">
                                <TextBlock Text="18" Margin="0,10,0,0"/>
                                <TextBlock Text="/ 30" Margin="5,10,0,0" Foreground="#7f8389"/>
                            </StackPanel>
                        </StackPanel>

                        <StackPanel VerticalAlignment="Center" Margin="10,0,10,0">
                            <ProgressBar Maximum="30" Minimum="0" Height="5" Value="4" Foreground="#58d0ff" BorderBrush="{x:Null}" Background="#FFEEEEEE" BorderThickness="0,0,0.5,0" />
                            <StackPanel Orientation="Horizontal">
                                <TextBlock Text="4" Margin="0,10,0,0"/>
                                <TextBlock Text="/ 30" Margin="5,10,0,0" Foreground="#7f8389"/>
                            </StackPanel>
                        </StackPanel>

                        <StackPanel VerticalAlignment="Center" Margin="10,0,10,0">
                            <ProgressBar Maximum="30" Minimum="0" Height="5" Value="9" Foreground="#8479ff" BorderBrush="{x:Null}" Background="#FFEEEEEE" BorderThickness="0,0,0.5,0" />
                            <StackPanel Orientation="Horizontal">
                                <TextBlock Text="9" Margin="0,10,0,0"/>
                                <TextBlock Text="/ 30" Margin="5,10,0,0" Foreground="#7f8389"/>
                            </StackPanel>
                        </StackPanel>

                        <StackPanel VerticalAlignment="Center" Margin="10,0,10,0">
                            <ProgressBar Maximum="30" Minimum="0" Height="5" Value="5" Foreground="#ff8c23" BorderBrush="{x:Null}" Background="#FFEEEEEE" BorderThickness="0,0,0.5,0" />
                            <StackPanel Orientation="Horizontal">
                                <TextBlock Text="5" Margin="0,10,0,0"/>
                                <TextBlock Text="/ 30" Margin="5,10,0,0" Foreground="#7f8389"/>
                            </StackPanel>
                        </StackPanel>


                        <StackPanel VerticalAlignment="Center" Margin="10,0,10,0">
                            <ProgressBar Maximum="30" Minimum="0" Height="5" Value="16" Foreground="#ff6161" BorderBrush="{x:Null}" Background="#FFEEEEEE" BorderThickness="0,0,0.5,0" />
                            <StackPanel Orientation="Horizontal">
                                <TextBlock Text="16" Margin="0,10,0,0"/>
                                <TextBlock Text="/ 30" Margin="5,10,0,0" Foreground="#7f8389"/>
                            </StackPanel>
                        </StackPanel>
                    </UniformGrid>
                </Grid>

            </Grid>

        </Grid>
    </Grid>
</Window>

MainWindow.xaml.cs
using LiveCharts;
using LiveCharts.Wpf;
using System.Linq;
using System.Windows;

namespace UISample2
{
    /// <summary>
    /// MainWindow.xaml 的交互逻辑
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void PipChart_DataClick(object sender, ChartPoint chartPoint)
        {
            var chart = (PieChart)chartPoint.ChartView;

            //clear selected slice
            foreach (PieSeries series in chart.Series.Cast<PieSeries>())
            {
                series.PushOut = 0;

                var selectedSeries = (PieSeries)chartPoint.SeriesView;
                selectedSeries.PushOut = 8;
            }
        }
    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
管理系统,作为一种高效的企业运营管理工具,旨在通过集成化、系统化的手段,对组织内部的各类资源进行规划、协调、控制和优化,以实现企业战略目标,提升运营效率,增强核心竞争力。以下是对管理系统的详细介绍: 一、定义与构成 管理系统是指由硬件设备、软件应用、数据资源、人员以及相关管理制度共同构建的,用于处理、监控、分析和决策各类业务活动的综合信息系统。它通常包括以下几个核心组成部分: 数据采集模块:负责从各类业务环节中实时、准确地收集信息,形成企业的基础数据资源。 数据分析模块:运用统计学、人工智能等技术对数据进行深度挖掘和智能分析,提供决策支持。 业务流程管理模块:设计、执行、监控和优化业务流程,确保各项任务按照预定规则高效运转。 决策支持模块:基于数据分析结果,为管理者提供直观的可视化报告,辅助其进行科学决策。 用户界面与交互模块:提供友好的人机交互界面,方便用户操作使用。 二、主要类型与功能 管理系统根据所针对的管理对象和领域,可分为多种类型,如: 人力资源管理系统(HRM):涵盖招聘、培训、绩效考核、薪酬福利等人力资源全流程管理,提升人才效能。 客户关系管理系统(CRM):集中管理客户信息,优化销售、营销和服务流程,提升客户满意度和忠诚度。 供应链管理系统(SCM):整合供应商、制造商、分销商、零售商等供应链各环节,实现物流、资金流、信息流的协同运作。 企业资源计划系统(ERP):对企业内部财务、生产、采购、库存、销售等各项资源进行全面集成管理,提高整体运营效率。 项目管理系统(PM):对项目全生命周期进行规划、跟踪、控制,确保项目按时、按质、按预算完成。 三、价值与优势 提高效率:自动化工作流程、标准化业务操作,显著减少人工干预,提升工作效率。 优化决策:实时数据分析与预测,提供精准的决策依据,助力管理层做出明智选择。 资源整合:打破部门壁垒,实现信息共享,优化资源配置,降低运营成本。 合规风控:内置法规遵循机制,强化内部控制,降低经营风险。 持续改进:通过对系统数据的持续监控与分析,驱动业务流程持续优化,促进企业创新与发展。 总的来说,管理系统作为现代企业管理的重要工具,以其强大的数据处理能力、智能化的决策支持和高效的业务流程管理,有力推动了企业的数字化转型,助力企业在日益激烈的市场竞争中保持竞争优势。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值