当WPF/C#中的任何UI元素发生更改时,是否会触发任何事件?
我有一个WPF应用程序,其中有很多文本框和组合框,它们构成了UI。我有一个“保存”按钮,每当这些文本框或组合框的任何内容发生变化时,我都想将其变为红色。是否有一个事件我可以处理,这样我就不必写了当WPF/C#中的任何UI元素发生更改时,是否会触发任何事件?,c#,wpf,events,user-interface,C#,Wpf,Events,User Interface,我有一个WPF应用程序,其中有很多文本框和组合框,它们构成了UI。我有一个“保存”按钮,每当这些文本框或组合框的任何内容发生变化时,我都想将其变为红色。是否有一个事件我可以处理,这样我就不必写了 btnSave.Foreground = Brushes.Red 对于每个文本框的_TextChanged事件?您可以通过循环表单的子控件来循环表单上的所有文本框,并相应地绑定事件 //-- This is a hair on the pseudo side, ChangeSavebuttonToRe
btnSave.Foreground = Brushes.Red
对于每个文本框的_TextChanged事件?您可以通过循环表单的子控件来循环表单上的所有文本框,并相应地绑定事件
//-- 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;
}
}
有很多方法可以做到这一点。最好的办法是了解
“WPF中的冒泡和隧道”以及“附加事件”的用法。以下是一些参考资料:
这个链接有你所需要的一切。
干杯使用“混合”创建行为。见: