wpf 依赖强制回调
依赖属性的强制转换加回调,后期自己再改
using System;
using System.Collections.Generic;
using System.Diagnostics;
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.Shapes;namespace WpfWebBrowser
{/// <summary>/// Interaction logic for UriWindow.xaml/// </summary>public partial class UriWindow : Window{#region UriFrameworkPropertyMetadata frmate = new FrameworkPropertyMetadata();/// <summary>/// Uri Dependency Property/// </summary>public static readonly DependencyProperty UriProperty =DependencyProperty.Register ("Uri", typeof (Uri), typeof (UriWindow),new FrameworkPropertyMetadata (new Uri("http://www.baidu.com"), PropertyChanged, CoerceValue), ValidateValue);/// <summary>/// Gets or sets the Uri property. This dependency property/// indicates ..../// </summary>public Uri Uri{get { return (Uri) GetValue (UriProperty); }set{SetValue (UriProperty, value);}}//属性改变static void PropertyChanged(DependencyObject dobj, DependencyPropertyChangedEventArgs e){Debug.WriteLine(String.Format("PropertyChanged - 属性:{0} 新值:{1} 旧值:{2}", e.Property.Name, e.NewValue, e.OldValue));}//强制转换static object CoerceValue(DependencyObject dobj, object newValue){Debug.WriteLine(String.Format("CoerceValue - {0}", newValue));if (newValue.ToString().StartsWith("http://")){return newValue;}else{return new Uri(@"http://" + newValue.ToString());}// return newValue;}//验证static bool ValidateValue(object obj){Debug.WriteLine(String.Format("ValidateValue - {0}", obj));return true;}#endregionpublic UriWindow(){InitializeComponent();frmate.CoerceValueCallback = new CoerceValueCallback(CoerceValue);}private void btn_Ok_Click (object sender, RoutedEventArgs e){this.DialogResult = true;this.Close();}private void btn_Cancel_Click (object sender, RoutedEventArgs e){this.Close();}}
}
转载于:https://www.cnblogs.com/ants_double/p/5725364.html
wpf 依赖强制回调相关推荐
- WPF依赖属性(二)
转载自:http://www.cnblogs.com/chillsrc/p/4688983.html 六.依赖属性回调.验证及强制值 我们通过下面的这幅图,简单介绍一下WPF属性系统对依赖属性操作的基 ...
- 初步了解WPF依赖属性
一 依赖属性 在WPF库实现中,依赖属性使用普通的C#属性进行了包装,使得我们可以通过和以前一样的方式来使用依赖属性.但必须明确,在WPF中我们大多数都在使用依赖属性,而不是使用属性.依赖属性重要性在 ...
- wpf 依赖属性和附加属性
原文:wpf 依赖属性和附加属性 1.依赖属性 解释:依赖属性是配合binding出现的产物,功能主要是配合binding. 作用: 一.当自定义usercontrol时,需要与宿主(父窗体)双向绑定 ...
- linux rpm安装包忽视所有依赖强制安装
前言 在系统离线情况下,无法通过rpm直接安装依赖包,将rpm包上传到服务器上,linux rpm安装包忽视所有依赖强制安装 解决方法 rpm -Uvh *.rpm --nodeps --force ...
- 第四章:WPF依赖/附加属性,数据绑定(一)
总目录 前言 本章主要介绍依赖属性,附加属性以及数据绑定的的内容. 一.依赖属性&附加属性 1.依赖属性 1)概念 什么是依赖对象DependencyObject 派生自DependencyO ...
- WPF,强制捕获鼠标事件,鼠标移出控件外依然可以执行强制捕获的鼠标事件
在WPF中,只有鼠标位置在某个控件上的时候才会触发该控件的鼠标事件. 例如,有两个控件都注册了MouseDown和MouseUp事件,在控件1上按下鼠标,不要放开,移动到控件2上再放开. 在这个过程中 ...
- WPF依赖属性(续)(1)
之前有写过几篇文章,详细地介绍了依赖属性的基本使用方法,如果你不想了解其内部实现机制的话,那么通过那两篇文章的介绍,足以应付平时的应用了.关于其内部实现,博客园的周永恒也有人详细介绍过,还原了依赖属性 ...
- Wpf依赖属性和附加属性在样式中的应用
文章目录 前言 一.依赖属性的使用方法 1.添加派生类(以Button为例) 2.修改样式模板 3.前台应用 二.依赖属性的使用方法 1.添加普通类 2.修改模板 3.前台使用 总结 前言 在wpf的 ...
- 继续聊WPF——依赖项属性(2)
在上一文中,我们用传统面向对象的方法来定义了一个类,而我们同时把该类的实例绑定到两个文本框,第一个文本框用于输入值,第二个文本框用于根据第一个文本框中的输入来取得属性值. 在上例中我们已经明了,虽然能 ...
最新文章
- netstat 命令(Linux)
- Yoshua Bengio等大神传授:26条深度学习经验
- java map按照value排序_基础:Java集合需要注意的 5 个问题
- MyEclipse/Eclipse快捷键调试大全
- java中集合的结构Set类型
- 2019年末逆向复习系列之淘宝M站Sign参数逆向分析
- ASP.NET Core Identity Hands On(2)——注册、登录、Claim
- LeetCode 679. 24 点游戏(回溯)
- 软件史上最伟大的十大程序员
- Github如何更新Fork的仓库
- pythonATM,购物车项目实战_补充7-start.py
- pandas常用功能手册
- 手动批量下载ts文件并合并
- 软件详细设计文档(终)
- 01-解决Tomcat中文乱码问题
- android播放swf文件
- http请求报错context deadline exceeded (Client.Timeout exceeded while awaiting headers)
- 回顾敏捷实践踩过的坑:如果重新做,我会这样做(一)
- 往自己脖子以上的投资永远不会贬值
- 2018青岛大学计算机考研真题,2018年青岛大学数学科学学院657数学分析考研基础五套测试题...
热门文章
- mysql虚拟机授权错误,windows下用navicat链接虚拟机MySQL数据库的过程和问题解决
- Oracle补历史数据存储过程,Oracle数据库数据丢失恢复的几种方法总结
- php基础编程教程 pdf,手把手教你编程打印出PDF_PHP教程
- python求一个数的因子_求一个整数的所有素数因子的思路是什么?
- python十大必备知识_学Python必备的基础知识
- git rebase 修改提交信息
- transformers tokenizer_summary
- SQLAlchemy orm.query.Query
- werkzeug response
- Spark TopN