1.提供附加属性的类(自定义的类)

 /// <summary>/// 用于附加属性的演示/// </summary>public class MyAttachedProperty{// 获取附加属性public static string GetSubTitle(DependencyObject obj){return (string)obj.GetValue(SubTitleProperty);}// 设置附加属性public static void SetSubTitle(DependencyObject obj, string value){obj.SetValue(SubTitleProperty, value);}// 注册一个附加属性public static readonly DependencyProperty SubTitleProperty =DependencyProperty.RegisterAttached("SubTitle", // 附加属性的名称typeof(string), // 附加属性的数据类型typeof(MyAttachedProperty), // 附加属性所属的类new PropertyMetadata("", PropertyMetadataCallback)); // 指定附加属性的默认值,以及值发生改变时所调用的方法private static void PropertyMetadataCallback(DependencyObject sender, DependencyPropertyChangedEventArgs args){object newValue = args.NewValue; // 发生改变之后的值object oldValue = args.OldValue; // 发生改变之前的值
        }}

2.使用附加属性

<Pagex:Class="XamlDemo.Controls.Basic.AttachedPropertyDemo"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:local="using:XamlDemo.Controls.Basic"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:myControls="using:MyControls"mc:Ignorable="d"><Grid Background="Transparent"><StackPanel Margin="120 0 0 0"><!--演示如何开发和使用自定义附加属性(本例所用到的自定义控件请参看:MyControls/MyControl.cs)--><myControls:MyControl Background="Blue" BorderBrush="Yellow" BorderThickness="1" Width="100" HorizontalAlignment="Left"Title="{Binding Value, ElementName=slider}" myControls:MyAttachedProperty.SubTitle="{Binding Value, ElementName=slider}" /> //此处就使用附加属性<Slider Name="slider" Width="100" Minimum="0" Maximum="200" IsThumbToolTipEnabled="False"  HorizontalAlignment="Left" /></StackPanel></Grid>
</Page>

转载于:https://www.cnblogs.com/jiehu/p/3518833.html

wpf 创建附加属性实例相关推荐

  1. 创建单实例WPF应用程序的正确方法是什么?

    在.NET(而不是Windows Forms或控制台)下使用C#和WPF,创建只能作为单个实例运行的应用程序的正确方法是什么? 我知道它与某种称为互斥量的神话事物有关,我很少能找到一个烦人的人来阻止并 ...

  2. 第四章:WPF依赖/附加属性,数据绑定(一)

    总目录 前言 本章主要介绍依赖属性,附加属性以及数据绑定的的内容. 一.依赖属性&附加属性 1.依赖属性 1)概念 什么是依赖对象DependencyObject 派生自DependencyO ...

  3. python创建类的实例方法-Python中动态创建类实例的方法

    简介 在Java中我们可以通过反射来根据类名创建类实例,那么在Python我们怎么实现类似功能呢? 其实在Python有一个builtin函数import,我们可以使用这个函数来在运行时动态加载一些模 ...

  4. 众所周知,static修饰的成员只实例化一次,而string类型每次赋值都会重新创建一个实例,那么用static修饰string呢?...

    string 类型每次实例化都会重新创建一个实例: 解释:string 类型重载了运算符 "=" ,每次 "=" 操作都是一次 "new". ...

  5. 详解Linux交互式shell脚本中创建对话框实例教程

    详解Linux交互式shell脚本中创建对话框实例教程 本教程我们通过实现来讲讲Linux交互式shell脚本中创建各种各样对话框,对话框在Linux中可以友好的提示操作者,感兴趣的朋友可以参考学习一 ...

  6. WPF MvvmLight简单实例(1) 页面导航

    原文:WPF MvvmLight简单实例(1) 页面导航 实现了那些功能,先看看截图: 操作描述: 在程序运行后,点击"Load"按钮,页面会加载PageOne,点击PageOne ...

  7. NSubstitute完全手册(二)创建替代实例

    创建一个替代实例的基本语法: var substitute = Substitute.For<ISomeInterface>(); 这就是通常情况下你创建一个类型的替代实例的方法.一般来说 ...

  8. oracle 辅助实例,初学rman问题小记三:创建辅助实例遇到的ORA-01031

    参考[三思笔记]一步一步学DataGuard文档做dg的开始准备阶段,做主库的副本数据库,做副本数据库的第一阶段,创建辅助实例,基本过程为: 1.创建密码文件 2.创建初始化参数文件 3.连接并启动辅 ...

  9. celery mysql flask_如何在Flask中创建Celery实例?

    我在flask程序中使用了工厂函数和蓝本,把Flask实例的创建放在了manage.py中(看过Flask Web开发这本书的同学应该懂我). 现在我想要创建一个Celery的实例(在app程序包中) ...

最新文章

  1. Qt实用技巧:使用OpenCV库的视频播放器(支持播放器操作,如暂停、恢复、停止、时间、进度条拽托等...
  2. java异常 字节码,Java字节码角度分析异常处理
  3. 【总结】C语言实用算法系列之知识点梳理_附学生管理系统各模块代码
  4. 聊聊推荐系统中的偏差
  5. css3学习下...
  6. JavaScript 详解:为什么写好的代码非常重要
  7. python全栈之巅_Python 迭代器、生成器详解 - Python全栈之巅
  8. python爬虫-33个Python爬虫项目实战(推荐)
  9. android 禁用和开启四大组件的方法(setComponentEnabledSetting )
  10. AutoPostBack
  11. mysql_use_result与mysql_store_result异同点
  12. makefile中的notdir,wildcard和patsubst
  13. sqlserver2012 学习总结笔记
  14. event mpm php,Apache下三种MPM模式:prefork,worker和event
  15. 网站推广教程(SEO,优化)100条
  16. html图片定位代码怎么写,如何在css中设置插入图片定位
  17. 如何在VI中使用小键盘上的数字键
  18. markdown笔记(一)—— 首行缩进和换行
  19. Flink1.11 读取kafka数据写入hive,未完待续
  20. 智联招聘再启IPO,它现在有哪些难题?

热门文章

  1. Flutter Trying to embed a platform view but the PrerollContext does not support embedding
  2. 逻辑运算和作用域的问题
  3. 解题报告:hdu1248寒冰王座 - 完全背包模板
  4. 洛谷——P1311 选择客栈
  5. Eclipse导入android项目包xml报错
  6. 分享一个在线vim网站
  7. NodeJs取参的四种方法
  8. eslint解决方案整理
  9. JavaScript Document对象DOM
  10. Python 列表 sorted( )函数