资源简介
原版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个文件信息
评论
共有 条评论