UI を構成する多数のテキスト ボックスとコンボ ボックスを含む WPF アプリがあります。これらのテキストボックスまたはコンボボックスのコンテンツが変更されるたびに赤くしたい「保存」ボタンがあります。書く必要がないように処理できる単一のイベントはありますか
btnSave.Foreground = Brushes.Red
すべてのテキストボックスの _TextChanged イベントについて?
UI を構成する多数のテキスト ボックスとコンボ ボックスを含む WPF アプリがあります。これらのテキストボックスまたはコンボボックスのコンテンツが変更されるたびに赤くしたい「保存」ボタンがあります。書く必要がないように処理できる単一のイベントはありますか
btnSave.Foreground = Brushes.Red
すべてのテキストボックスの _TextChanged イベントについて?
フォームの child をループすることで、フォーム上のすべてのテキストボックスをループし、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;
}
}
Blend を使用して動作を作成します。参照: Blend を使用して WPF または Silverlight の DataGrid に可視性動作を追加する
そのようなことを行う方法はたくさんあります。一番いいのは"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
乾杯