wpf 改变属性后怎么自动做出响应?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了wpf 改变属性后怎么自动做出响应?相关的知识,希望对你有一定的参考价值。

如题,假如有一个全局变量_tag,还有10个按钮(按钮的Text从1-10)。每个按钮都有自己的Click事件,当点击按钮后,_tag=按钮.Text。
然后我想在_tag变化的时候弹出MessageBox框,怎么做?用事件那种方法。

要用触发器来解决
给你个参考吧:
http://blog.csdn.net/lhx527099095/article/details/8029207
WPF中有种叫做触发器的东西(记住不是数据库的trigger哦)。它的主要作用是根据trigger的不同条件来自动更改外观属性,或者执行动画等操作。
WPFtrigger的主要类型有:Trigger、MultiTrigger、DataTrigger、MultiDataTrigger、EventTrigger几种。从字面意思上我们想大家已经知道个大概,接下来我将还会用实例代码逐一进行介绍。trigger主要运用的场景在Style、ControlTemplate、DataTemplate三个地方。在这些地方可以使用trigger,具体视情况而定。
参考技术A 最简单的是在属性中加个方法,最标准的是在属性中加个事件
1:
private string _tag;
public string Tag

get return _tag;
set

_tag = value;
MessageBox.Show(value);

OnPropertyChanged在WPF中的作用,越详细越好。谢谢了!!

OnPropertyChanged这个属性在WinForm时代就有了,WPF只是向下兼容而已。

WPF使用依赖属性自动通知注册者属性值更变。

OnPropertyChanged需要你在属性值每次变化的时候主动调用一个方法,会引发此事件,当Entity绑定到控件时,控件会主动注册OnPropertyChanged事件,所以属性变化的时候控件会自动更新,这就是数据绑定的基础。
参考技术A OnPropertyChanged 监听属性值的变化 然后前端可以根据值的变化做出一些改变
比如checkbox 当你设定的isCheck值为 false 他就会把勾取消 你再点击一下 他的值变成了True
然后会响应OnPropertyChanged 然后前端的checkbox就会自动有个勾选的状态 如果是类似name,id类的属性 前端当然就不会有什么改变了
参考技术B public string Name

getreturn name;
setname = value;
OnPropertyChanged("Name");


当WPF页面中绑定这个Name属性的时候 在CS代码里面设置Name的属性值的时候OnPropertyChanged会通知页面更新显示最新的这个值
楼上说的也是对的

以上是关于wpf 改变属性后怎么自动做出响应?的主要内容,如果未能解决你的问题,请参考以下文章

wpf 通过为DataGrid所绑定的数据源类型的属性设置Attribute改变DataGrid自动生成列的顺序

wpf怎么自定义窗口

winform窗体控件随分辨率的改变而自动调整大小?

wpf中datagrid选择改变事件中怎样绑定RadioButton的数据

VC 怎么动态改变控件大小

网站处于联机状态‘但未对连接尝试做出响应