wpf 创建附加属性实例
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 创建附加属性实例相关推荐
- 创建单实例WPF应用程序的正确方法是什么?
在.NET(而不是Windows Forms或控制台)下使用C#和WPF,创建只能作为单个实例运行的应用程序的正确方法是什么? 我知道它与某种称为互斥量的神话事物有关,我很少能找到一个烦人的人来阻止并 ...
- 第四章:WPF依赖/附加属性,数据绑定(一)
总目录 前言 本章主要介绍依赖属性,附加属性以及数据绑定的的内容. 一.依赖属性&附加属性 1.依赖属性 1)概念 什么是依赖对象DependencyObject 派生自DependencyO ...
- python创建类的实例方法-Python中动态创建类实例的方法
简介 在Java中我们可以通过反射来根据类名创建类实例,那么在Python我们怎么实现类似功能呢? 其实在Python有一个builtin函数import,我们可以使用这个函数来在运行时动态加载一些模 ...
- 众所周知,static修饰的成员只实例化一次,而string类型每次赋值都会重新创建一个实例,那么用static修饰string呢?...
string 类型每次实例化都会重新创建一个实例: 解释:string 类型重载了运算符 "=" ,每次 "=" 操作都是一次 "new". ...
- 详解Linux交互式shell脚本中创建对话框实例教程
详解Linux交互式shell脚本中创建对话框实例教程 本教程我们通过实现来讲讲Linux交互式shell脚本中创建各种各样对话框,对话框在Linux中可以友好的提示操作者,感兴趣的朋友可以参考学习一 ...
- WPF MvvmLight简单实例(1) 页面导航
原文:WPF MvvmLight简单实例(1) 页面导航 实现了那些功能,先看看截图: 操作描述: 在程序运行后,点击"Load"按钮,页面会加载PageOne,点击PageOne ...
- NSubstitute完全手册(二)创建替代实例
创建一个替代实例的基本语法: var substitute = Substitute.For<ISomeInterface>(); 这就是通常情况下你创建一个类型的替代实例的方法.一般来说 ...
- oracle 辅助实例,初学rman问题小记三:创建辅助实例遇到的ORA-01031
参考[三思笔记]一步一步学DataGuard文档做dg的开始准备阶段,做主库的副本数据库,做副本数据库的第一阶段,创建辅助实例,基本过程为: 1.创建密码文件 2.创建初始化参数文件 3.连接并启动辅 ...
- celery mysql flask_如何在Flask中创建Celery实例?
我在flask程序中使用了工厂函数和蓝本,把Flask实例的创建放在了manage.py中(看过Flask Web开发这本书的同学应该懂我). 现在我想要创建一个Celery的实例(在app程序包中) ...
最新文章
- Qt实用技巧:使用OpenCV库的视频播放器(支持播放器操作,如暂停、恢复、停止、时间、进度条拽托等...
- java异常 字节码,Java字节码角度分析异常处理
- 【总结】C语言实用算法系列之知识点梳理_附学生管理系统各模块代码
- 聊聊推荐系统中的偏差
- css3学习下...
- JavaScript 详解:为什么写好的代码非常重要
- python全栈之巅_Python 迭代器、生成器详解 - Python全栈之巅
- python爬虫-33个Python爬虫项目实战(推荐)
- android 禁用和开启四大组件的方法(setComponentEnabledSetting )
- AutoPostBack
- mysql_use_result与mysql_store_result异同点
- makefile中的notdir,wildcard和patsubst
- sqlserver2012 学习总结笔记
- event mpm php,Apache下三种MPM模式:prefork,worker和event
- 网站推广教程(SEO,优化)100条
- html图片定位代码怎么写,如何在css中设置插入图片定位
- 如何在VI中使用小键盘上的数字键
- markdown笔记(一)—— 首行缩进和换行
- Flink1.11 读取kafka数据写入hive,未完待续
- 智联招聘再启IPO,它现在有哪些难题?