• 大小: 119KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-03
  • 语言: C#
  • 标签: wpf组件  

资源简介

wpf温度计自定义组件例子

资源截图

代码片段和文件信息

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.Animation;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace Temperature
{
    public class AddBfh : IValueConverter
    {
        public object Convert(object value Type targetType object parameter System.Globalization.CultureInfo culture)
        {
            float f = (float)value;
            return string.Format(“{0}℃“ f);
        }

        public object ConvertBack(object value Type targetType object parameter System.Globalization.CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    }

    public class Temp : Button
    {
        static Temp()
        {
            DefaultstyleKeyProperty.Overridemetadata(typeof(Temp) new frameworkPropertymetadata(typeof(Temp)));
        }

        #region 基本控件
        TextBlock txtMaxValue = null;
        TextBlock txtMinValue = null;
        TextBlock txtCurrentValue = null;
        TextBlock txtPosition = null;
        Rectangle rect = null;
        #endregion

        #region 设置绑定
        public override void OnApplyTemplate()
        {
            base.OnApplyTemplate();
            AddBfh addBfh = new AddBfh();
            txtMaxValue = GetTemplateChild(“MaxValue“) as TextBlock;
            txtMinValue = GetTemplateChild(“MinValue“) as TextBlock;
            txtCurrentValue = GetTemplateChild(“CurrentValue“) as TextBlock;
            txtPosition = GetTemplateChild(“Positions“) as TextBlock;
            rect = GetTemplateChild(“RectValue“) as Rectangle;

            txtMaxValue.SetBinding(TextBlock.TextProperty new Binding(“MaxValue“) { Source = this Converter = addBfh });
            txtMinValue.SetBinding(TextBlock.TextProperty new Binding(“MinValue“) { Source = this Converter = addBfh });
            txtCurrentValue.SetBinding(TextBlock.TextProperty new Binding(“CurrentValue“) { Source = this Converter = addBfh });
            txtPosition.SetBinding(TextBlock.TextProperty new Binding(“MeterPosition“) { Source = this });
            rect.SetBinding(Rectangle.HeightProperty new Binding(“CurrentValue“) { Source = this });
        }
        #endregion

        #region 最大值
        public float MaxValue
        {
            get { return (float)GetValue(MaxValueProperty); }
            set { SetValue(MaxValueProperty value); }
        }

        // Using a DependencyProperty as the backing store for MaxValue.  This enables animation styling binding etc...
        public static readonly DependencyProperty MaxValueProperty =
            DependencyProperty.Register(“MaxValue“ typeof(float) typeof(Temp) new Propertymetadata(100.0f));
   

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2013-04-05 15:23  自定义控件开发Sample\
     目录           0  2013-04-05 18:50  自定义控件开发Sample\Temperature\
     目录           0  2013-04-05 15:23  自定义控件开发Sample\Temperature\bin\
     目录           0  2013-04-05 18:15  自定义控件开发Sample\Temperature\bin\Debug\
     文件       15360  2013-04-05 18:50  自定义控件开发Sample\Temperature\bin\Debug\Temperature.dll
     文件       28160  2013-04-05 18:50  自定义控件开发Sample\Temperature\bin\Debug\Temperature.pdb
     目录           0  2013-04-05 15:23  自定义控件开发Sample\Temperature\bin\Release\
     目录           0  2013-04-05 15:23  自定义控件开发Sample\Temperature\obj\
     目录           0  2013-04-05 18:50  自定义控件开发Sample\Temperature\obj\Debug\
     文件        6898  2013-04-05 18:15  自定义控件开发Sample\Temperature\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
     文件        3015  2013-04-05 18:50  自定义控件开发Sample\Temperature\obj\Debug\GeneratedInternalTypeHelper.g.cs
     文件        3015  2013-04-05 18:50  自定义控件开发Sample\Temperature\obj\Debug\GeneratedInternalTypeHelper.g.i.cs
     文件        1250  2013-04-05 18:42  自定义控件开发Sample\Temperature\obj\Debug\Temperature.csproj.FileListAbsolute.txt
     文件         917  2013-04-05 18:15  自定义控件开发Sample\Temperature\obj\Debug\Temperature.csproj.GenerateResource.Cache
     文件        2280  2013-04-05 18:41  自定义控件开发Sample\Temperature\obj\Debug\Temperature.csprojResolveAssemblyReference.cache
     文件       15360  2013-04-05 18:50  自定义控件开发Sample\Temperature\obj\Debug\Temperature.dll
     文件        4645  2013-04-05 18:50  自定义控件开发Sample\Temperature\obj\Debug\Temperature.g.resources
     文件       28160  2013-04-05 18:50  自定义控件开发Sample\Temperature\obj\Debug\Temperature.pdb
     文件         180  2013-04-05 18:15  自定义控件开发Sample\Temperature\obj\Debug\Temperature.Properties.Resources.resources
     文件         231  2013-04-05 18:50  自定义控件开发Sample\Temperature\obj\Debug\Temperature_MarkupCompile.cache
     文件         231  2013-04-05 18:15  自定义控件开发Sample\Temperature\obj\Debug\Temperature_MarkupCompile.i.cache
     文件          98  2013-04-05 18:15  自定义控件开发Sample\Temperature\obj\Debug\Temperature_MarkupCompile.i.lref
     文件          98  2013-04-05 18:50  自定义控件开发Sample\Temperature\obj\Debug\Temperature_MarkupCompile.lref
     目录           0  2013-04-05 15:23  自定义控件开发Sample\Temperature\obj\Debug\TempPE\
     目录           0  2013-04-05 18:50  自定义控件开发Sample\Temperature\obj\Debug\Themes\
     文件        4409  2013-04-05 18:50  自定义控件开发Sample\Temperature\obj\Debug\Themes\Generic.baml
     目录           0  2013-04-05 15:23  自定义控件开发Sample\Temperature\Properties\
     文件        2314  2013-04-05 15:23  自定义控件开发Sample\Temperature\Properties\AssemblyInfo.cs
     文件        2833  2013-04-05 15:23  自定义控件开发Sample\Temperature\Properties\Resources.Designer.cs
     文件        5612  2012-04-02 23:39  自定义控件开发Sample\Temperature\Properties\Resources.resx
     文件        1122  2013-04-05 15:23  自定义控件开发Sample\Temperature\Properties\Settings.Designer.cs
............此处省略45个文件信息

评论

共有 条评论

相关资源