依赖属性的强制转换加回调,后期自己再改

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 依赖强制回调相关推荐

  1. WPF依赖属性(二)

    转载自:http://www.cnblogs.com/chillsrc/p/4688983.html 六.依赖属性回调.验证及强制值 我们通过下面的这幅图,简单介绍一下WPF属性系统对依赖属性操作的基 ...

  2. 初步了解WPF依赖属性

    一 依赖属性 在WPF库实现中,依赖属性使用普通的C#属性进行了包装,使得我们可以通过和以前一样的方式来使用依赖属性.但必须明确,在WPF中我们大多数都在使用依赖属性,而不是使用属性.依赖属性重要性在 ...

  3. wpf 依赖属性和附加属性

    原文:wpf 依赖属性和附加属性 1.依赖属性 解释:依赖属性是配合binding出现的产物,功能主要是配合binding. 作用: 一.当自定义usercontrol时,需要与宿主(父窗体)双向绑定 ...

  4. linux rpm安装包忽视所有依赖强制安装

    前言 在系统离线情况下,无法通过rpm直接安装依赖包,将rpm包上传到服务器上,linux rpm安装包忽视所有依赖强制安装 解决方法 rpm -Uvh *.rpm --nodeps --force ...

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

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

  6. WPF,强制捕获鼠标事件,鼠标移出控件外依然可以执行强制捕获的鼠标事件

    在WPF中,只有鼠标位置在某个控件上的时候才会触发该控件的鼠标事件. 例如,有两个控件都注册了MouseDown和MouseUp事件,在控件1上按下鼠标,不要放开,移动到控件2上再放开. 在这个过程中 ...

  7. WPF依赖属性(续)(1)

    之前有写过几篇文章,详细地介绍了依赖属性的基本使用方法,如果你不想了解其内部实现机制的话,那么通过那两篇文章的介绍,足以应付平时的应用了.关于其内部实现,博客园的周永恒也有人详细介绍过,还原了依赖属性 ...

  8. Wpf依赖属性和附加属性在样式中的应用

    文章目录 前言 一.依赖属性的使用方法 1.添加派生类(以Button为例) 2.修改样式模板 3.前台应用 二.依赖属性的使用方法 1.添加普通类 2.修改模板 3.前台使用 总结 前言 在wpf的 ...

  9. 继续聊WPF——依赖项属性(2)

    在上一文中,我们用传统面向对象的方法来定义了一个类,而我们同时把该类的实例绑定到两个文本框,第一个文本框用于输入值,第二个文本框用于根据第一个文本框中的输入来取得属性值. 在上例中我们已经明了,虽然能 ...

最新文章

  1. netstat 命令(Linux)
  2. Yoshua Bengio等大神传授:26条深度学习经验
  3. java map按照value排序_基础:Java集合需要注意的 5 个问题
  4. MyEclipse/Eclipse快捷键调试大全
  5. java中集合的结构Set类型
  6. 2019年末逆向复习系列之淘宝M站Sign参数逆向分析
  7. ASP.NET Core Identity Hands On(2)——注册、登录、Claim
  8. LeetCode 679. 24 点游戏(回溯)
  9. 软件史上最伟大的十大程序员
  10. Github如何更新Fork的仓库
  11. pythonATM,购物车项目实战_补充7-start.py
  12. pandas常用功能手册
  13. 手动批量下载ts文件并合并
  14. 软件详细设计文档(终)
  15. 01-解决Tomcat中文乱码问题
  16. android播放swf文件
  17. http请求报错context deadline exceeded (Client.Timeout exceeded while awaiting headers)
  18. 回顾敏捷实践踩过的坑:如果重新做,我会这样做(一)
  19. 往自己脖子以上的投资永远不会贬值
  20. 2018青岛大学计算机考研真题,2018年青岛大学数学科学学院657数学分析考研基础五套测试题...

热门文章

  1. mysql虚拟机授权错误,windows下用navicat链接虚拟机MySQL数据库的过程和问题解决
  2. Oracle补历史数据存储过程,Oracle数据库数据丢失恢复的几种方法总结
  3. php基础编程教程 pdf,手把手教你编程打印出PDF_PHP教程
  4. python求一个数的因子_求一个整数的所有素数因子的思路是什么?
  5. python十大必备知识_学Python必备的基础知识
  6. git rebase 修改提交信息
  7. transformers tokenizer_summary
  8. SQLAlchemy orm.query.Query
  9. werkzeug response
  10. Spark TopN