2

UI を構成する多数のテキスト ボックスとコンボ ボックスを含む WPF アプリがあります。これらのテキストボックスまたはコンボボックスのコンテンツが変更されるたびに赤くしたい「保存」ボタンがあります。書く必要がないように処理できる単一のイベントはありますか

btnSave.Foreground = Brushes.Red

すべてのテキストボックスの _TextChanged イベントについて?

4

3 に答える 3

3

フォームの 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;
    }
}
于 2012-10-30T19:32:24.100 に答える
1

Blend を使用して動作を作成します。参照: Blend を使用して WPF または Silverlight の DataGrid に可視性動作を追加する

于 2012-10-30T20:09:56.460 に答える
1

そのようなことを行う方法はたくさんあります。一番いいのは"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

乾杯

于 2012-10-30T19:33:58.877 に答える