• 大小: 338KB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2021-06-13
  • 语言: C#
  • 标签:

资源简介

原版WpfGauge仪表控件的仪表盘范围不可修改,是随当前值自动调整范围,而如果想实现可自定义固定范围,如汽车仪表盘,需要对源代码进行些许修改。本资源已实现自定义仪表盘的范围。

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.ComponentModel;

namespace WpfGauge
{
    /// 
    /// Interaction logic for GoalMarker.xaml
    /// 

    public partial class GoalMarker : UserControl
    {
        internal Gauge ParentGauge { get; set; }

        #region Dependency Properties

        public static DependencyProperty ValueProperty =
            DependencyProperty.Register(“Value“ typeof(double) typeof(GoalMarker) new Propertymetadata(OnValueChanged));

        public static DependencyProperty AngleProperty =
            DependencyProperty.Register(“Angle“ typeof(double) typeof(GoalMarker));

        public static DependencyProperty GaugeMaxProperty =
            DependencyProperty.Register(“GaugeMax“ typeof(double) typeof(GoalMarker));

        public static DependencyProperty GaugeStartAngleProperty =
            DependencyProperty.Register(“GaugeStartAngle“ typeof(double) typeof(GoalMarker));

        public static DependencyProperty GaugeEndAngleProperty =
            DependencyProperty.Register(“GaugeEndAngle“ typeof(double) typeof(GoalMarker));

        public static DependencyProperty MarkerWidthProperty =
            DependencyProperty.Register(“MarkerWidth“ typeof(double) typeof(GoalMarker) new Propertymetadata(10.0d));

        public static DependencyProperty MarkerHeightProperty =
            DependencyProperty.Register(“MarkerHeight“ typeof(double) typeof(GoalMarker) new Propertymetadata(10.0d));

        public static DependencyProperty MarkerColorProperty =
            DependencyProperty.Register(“MarkerColor“ typeof(Brush) typeof(GoalMarker) new Propertymetadata(Brushes.Orange));

        public static DependencyProperty titleProperty =
            DependencyProperty.Register(“title“ typeof(string) typeof(GoalMarker));

        public static void OnValueChanged(Dependencyobject d DependencyPropertyChangedEventArgs e)
        {
            var goal = d as GoalMarker;

            goal.ParentGauge.UpdateAngle();

            // Update the Angle Property
            var v = (double)e.NewValue;
            var valueInPercent = v / goal.GaugeMax;
            var valueInDegrees = valueInPercent * (goal.GaugeEndAngle - goal.GaugeStartAngle) + goal.GaugeStartAngle;
            goal.Angle = valueInDegrees;
        }

        #endregion Dependency Properties

        #region Public Vars

        public double Value
        {
            get { return (double)base.GetValue(ValueProperty); }
            set { base.SetValue(ValueProperty value); }
        }

        public double Angle
        {
   

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-01-23 08:42  WpfGauge_修改过可以自定义仪表范围\
     目录           0  2017-01-23 16:49  WpfGauge_修改过可以自定义仪表范围\WpfGauge\
     文件        3062  2010-10-19 22:41  WpfGauge_修改过可以自定义仪表范围\WpfGauge.sln
     文件       41472  2010-10-20 08:09  WpfGauge_修改过可以自定义仪表范围\WpfGauge.suo
     目录           0  2017-01-23 09:52  WpfGauge_修改过可以自定义仪表范围\WpfGauge.Test\
     文件         324  2010-09-17 21:40  WpfGauge_修改过可以自定义仪表范围\WpfGauge.Test\App.xaml
     文件         315  2010-09-17 21:40  WpfGauge_修改过可以自定义仪表范围\WpfGauge.Test\App.xaml.cs
     目录           0  2017-01-23 09:10  WpfGauge_修改过可以自定义仪表范围\WpfGauge.Test\bin\
     目录           0  2017-01-23 09:15  WpfGauge_修改过可以自定义仪表范围\WpfGauge.Test\bin\Debug\
     文件       53760  2017-01-23 09:05  WpfGauge_修改过可以自定义仪表范围\WpfGauge.Test\bin\Debug\WpfGauge.dll
     文件      114176  2017-01-23 09:05  WpfGauge_修改过可以自定义仪表范围\WpfGauge.Test\bin\Debug\WpfGauge.pdb
     文件       10240  2017-01-23 09:52  WpfGauge_修改过可以自定义仪表范围\WpfGauge.Test\bin\Debug\WpfGauge.Test.exe
     文件       30208  2017-01-23 09:52  WpfGauge_修改过可以自定义仪表范围\WpfGauge.Test\bin\Debug\WpfGauge.Test.pdb
     文件       23168  2017-01-23 17:08  WpfGauge_修改过可以自定义仪表范围\WpfGauge.Test\bin\Debug\WpfGauge.Test.vshost.exe
     文件         490  2016-07-16 19:44  WpfGauge_修改过可以自定义仪表范围\WpfGauge.Test\bin\Debug\WpfGauge.Test.vshost.exe.manifest
     目录           0  2017-01-23 09:10  WpfGauge_修改过可以自定义仪表范围\WpfGauge.Test\bin\Release\
     文件       53760  2017-01-23 09:05  WpfGauge_修改过可以自定义仪表范围\WpfGauge.Test\bin\Release\WpfGauge.dll
     文件        1745  2017-01-23 09:52  WpfGauge_修改过可以自定义仪表范围\WpfGauge.Test\MainWindow.xaml
     文件         582  2017-01-23 09:52  WpfGauge_修改过可以自定义仪表范围\WpfGauge.Test\MainWindow.xaml.cs
     目录           0  2010-10-19 15:58  WpfGauge_修改过可以自定义仪表范围\WpfGauge.Test\obj\
     目录           0  2010-10-19 15:58  WpfGauge_修改过可以自定义仪表范围\WpfGauge.Test\obj\x86\
     目录           0  2017-01-23 09:52  WpfGauge_修改过可以自定义仪表范围\WpfGauge.Test\obj\x86\Debug\
     文件        2325  2017-01-23 09:43  WpfGauge_修改过可以自定义仪表范围\WpfGauge.Test\obj\x86\Debug\App.g.cs
     文件        2325  2017-01-23 17:06  WpfGauge_修改过可以自定义仪表范围\WpfGauge.Test\obj\x86\Debug\App.g.i.cs
     文件       17849  2010-10-19 21:55  WpfGauge_修改过可以自定义仪表范围\WpfGauge.Test\obj\x86\Debug\DesignTimeResolveAssemblyReferences.cache
     文件        7410  2017-01-23 17:06  WpfGauge_修改过可以自定义仪表范围\WpfGauge.Test\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache
     文件        2903  2010-09-27 12:28  WpfGauge_修改过可以自定义仪表范围\WpfGauge.Test\obj\x86\Debug\GeneratedInternalTypeHelper.g.i.cs
     文件         218  2010-10-20 08:11  WpfGauge_修改过可以自定义仪表范围\WpfGauge.Test\obj\x86\Debug\GenerateResource.read.1.tlog
     文件         498  2010-10-20 08:11  WpfGauge_修改过可以自定义仪表范围\WpfGauge.Test\obj\x86\Debug\GenerateResource.write.1.tlog
     文件        2035  2017-01-23 09:52  WpfGauge_修改过可以自定义仪表范围\WpfGauge.Test\obj\x86\Debug\MainWindow.baml
     文件        3507  2017-01-23 09:52  WpfGauge_修改过可以自定义仪表范围\WpfGauge.Test\obj\x86\Debug\MainWindow.g.cs
............此处省略75个文件信息

评论

共有 条评论