博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MultiTigger 绑定异常处理
阅读量:6040 次
发布时间:2019-06-20

本文共 2469 字,大约阅读时间需要 8 分钟。

原文:

异常产生环境:

在初始化一个窗口后,没有show出来。在此窗口中,有个控件,重写了控件模板,并加了MultiTrigger。

注意:俩个Condition,一个是从外面绑定过来的Tag,一个是ControlTemplate中Element的属性Tag。

因为有时候控件自带的Tag值不够使用,因此需要另一个Tag来支持Trigger里面的逻辑。

 

        

 

然后在另一窗口或者后台线程中,添加了PropertyChanged的属性Type,值改变时

private string _type = string.Empty;        public string Type        {            get { return _type; }            set            {                _type = value;                RaisePropertyChanged(nameof(Type));            }        }

 

引进上面的MultiTrigger中一个Condition 值变化,但是另一个Condition和Setter(Actions)引用了ControlTemplate中的Eelement,这时会引发

未将对象引用到实例

 

如上异常,解决方案:

用附加属性替代 SourceName="RootGrid" Property="Tag" .即可

        

 

public static class TitlebarTypeHelper    {        public static string GetType(DependencyObject obj)        {            return (string)obj.GetValue(TypeProperty);        }        public static void SetType(DependencyObject obj, string value)        {            obj.SetValue(TypeProperty, value);        }        ///         /// 附加属性        ///         public static readonly DependencyProperty TypeProperty =            DependencyProperty.RegisterAttached("Type", typeof(string), typeof(TitlebarTypeHelper),                new PropertyMetadata(null));    }

 

转载地址:http://uxghx.baihongyu.com/

你可能感兴趣的文章
laravel5.5 Syntax error or access violation: 1071 Specified key was too long
查看>>
分布式锁与实现(一)——基于Redis实现
查看>>
RDLC报表显示图片
查看>>
用查表查找汉字笔画
查看>>
top高级技能
查看>>
两张表先各自左外连接,然后在相互左外连接查找省市县的数据(业务需求必须这样做,省市去的是第一张表,而市县取的是第二张表,两张表中间通过市的名字连接)...
查看>>
sso单点登录,单点登录原理图,单点登录图解,单点登录
查看>>
原码、反码、补码的正(nao)确(can)打开方式
查看>>
《算法导论》
查看>>
ResourceBundle.getBundle方法demo
查看>>
基于Dubbo的http自动测试工具分享
查看>>
[linux] C语言Linux系统编程-TCP通信的11种状态
查看>>
{head first} --- networking 3
查看>>
SpringCloud入门之YAML格式文件规范学习
查看>>
深入理解Dalvik虚拟机- 解释器的执行机制
查看>>
android------2018 年初值得关注的 16 个新 Android 库和项目
查看>>
Mac eclipse 连接安卓手机调试 adb
查看>>
国际巨头互联网公司一些运营与管理思路
查看>>
数据库~Mysql里的Explain说明
查看>>
linux arm的存储分布那些事之一【转】
查看>>