[英]Is there any event that fires when any of my UI elements changes in WPF/C#?
我有一个WPF应用,其中包含许多组成UI的文本框和组合框。 我有一个“保存”按钮,只要这些文本框或组合框的内容发生更改,我都希望将其变为红色。 是否有一个我可以处理的事件,所以我不必写
btnSave.Foreground = Brushes.Red
每个文本框的_TextChanged事件?
您可以通过遍历表单的子Controls
遍历表单上的所有文本框,并相应地一键绑定事件。
//-- This is a hair on the pseudo side, ChangeSavebuttonToRedHandler is an event
//-- handler for your foreground change.. You can also use a lambda or whatever
//-- you'd like.
foreach(var loChild in this.Controls)
{
if(loChild is TextBox)
{
loChild.TextChanged += ChangeSaveButtonToRedHandler;
}
}
有很多方法可以做到这一点。 最好的办法是了解"Bubbling and Tunneling in WPF"
传输"Bubbling and Tunneling in WPF"
以及"Attached events"
的用法。 以下是一些参考:
该链接具有您所需的一切。 http://msdn.microsoft.com/en-us/library/ms742806.aspx
http://www.wpfmentor.com/2008/11/understand-bubbling-and-tunnelling-in-5.html
干杯
使用Blend创建行为。 请参阅: 使用Blend将可见性行为添加到WPF或Silverlight的DataGrid中
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.