真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何實(shí)現(xiàn)一個(gè)條形圖

本篇文章為大家展示了如何實(shí)現(xiàn)一個(gè)條形圖,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到和縣網(wǎng)站設(shè)計(jì)與和縣網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類(lèi)型包括:成都做網(wǎng)站、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊(cè)、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋和縣地區(qū)。

一、先看效果

如何實(shí)現(xiàn)一個(gè)條形圖

二、本文背景

有沒(méi)有這種場(chǎng)景:開(kāi)源控件庫(kù)或者收費(fèi)的控件庫(kù),條形圖或者柱狀圖都非常強(qiáng)大,但我的業(yè)務(wù)就是不符合,就是要自己設(shè)計(jì)呢?本文通過(guò)簡(jiǎn)單的實(shí)現(xiàn)一個(gè)條形圖功能,以后類(lèi)似的統(tǒng)計(jì)圖可以在這上面進(jìn)行修改,原理是類(lèi)似的。

三、代碼實(shí)現(xiàn)

小編使用.Net Core 3.1創(chuàng)建的WPF工程,創(chuàng)建名稱為“BarChart”的解決方案后,添加名稱為”Bar“的WPF用戶控件,這個(gè)控件就是上圖中的單個(gè)柱子,下面是Bar.xaml代碼

            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
            mc:Ignorable="d"
            MinHeight="20" Width="Auto" Loaded="UserControl_Loaded">
   
       
       
       
           
               
           

       

   


Bar.xaml.cs代碼,主要是綁定前景色及背景色,及柱子百分比值。

using System.ComponentModel;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;

namespace BarChart
{
   ///
   /// BarChart.xaml 的交互邏輯
   ///

   public partial class Bar  : UserControl, INotifyPropertyChanged
   {
       public event PropertyChangedEventHandler PropertyChanged;
       private void NotifyPropertyChanged(string info)
       {
           if (PropertyChanged != null)
           {
               PropertyChanged(this, new PropertyChangedEventArgs(info));
           }
       }

       private double _value;
       public double Value
       {
           get { return _value; }
           set
           {
               _value = value;
               UpdateBarHeight();
               NotifyPropertyChanged("Value");
           }
       }

       private double maxValue;
       public double MaxValue
       {
           get { return maxValue; }
           set
           {
               maxValue = value;
               UpdateBarHeight();
               NotifyPropertyChanged("MaxValue");
           }
       }

       private double barHeight;
       public double BarHeight
       {
           get { return barHeight; }
           set
           {
               barHeight = value;
               NotifyPropertyChanged("BarHeight");
           }
       }

       private Brush color;
       public Brush Color
       {
           get { return color; }
           set
           {
               color = value;
               NotifyPropertyChanged("Color");
           }
       }

       private void UpdateBarHeight()
       {
           if (maxValue > 0)
           {
               var percent = (_value * 100) / maxValue;
               BarHeight = (percent * this.ActualHeight) / 100;
           }
       }

       public Bar()
       {
           InitializeComponent();

           this.DataContext = this;
           color = Brushes.Black;
       }


       private void UserControl_Loaded(object sender, RoutedEventArgs e)
       {
           UpdateBarHeight();
       }

       private void Grid_SizeChanged(object sender, SizeChangedEventArgs e)
       {
           UpdateBarHeight();
       }
   }
}

主窗體MainWindow.xaml,添加顯示的業(yè)務(wù)數(shù)據(jù),目前只是展示了進(jìn)度值,其他標(biāo)簽只要你看懂了代碼,很好加的,比如每根柱子,上面顏色顯示一種意義名稱、下面顯示另一種意義名稱。

       xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
       xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
       xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
       xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
       xmlns:local="clr-namespace:BarChart"
       mc:Ignorable="d"
       Background="#FF252525" FontFamily="Nontserrrat"
       Title="MainWindow" Height="600" Width="1080" WindowStyle="None" ResizeMode="NoResize" WindowStartupLocation="CenterScreen">
   
       
           
           
       


       
                                 Foreground="White" FontSize="24"/>
       


                      HorizontalAlignment="Left" Margin="20" Background="White"
               BorderBrush="Gray" CornerRadius="12">
           
               
               
                   
                   
                   
                   
                   
                   
               

           

       

   


上述內(nèi)容就是如何實(shí)現(xiàn)一個(gè)條形圖,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


網(wǎng)站標(biāo)題:如何實(shí)現(xiàn)一個(gè)條形圖
本文網(wǎng)址:http://weahome.cn/article/iididj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部