2012-02-13 16 views
1

私は、入力ツリーからさまざまなオブジェクトを表示するカスタムウィンドウを持っています。オブジェクトが入力ツリーでチェックされてウィンドウに表示されると、オブジェクトの「変更された」イベントに登録されます。私はイベントに何度も登録していないと確信しています。私が見ている問題は、色などのオブジェクトを変更すると、イベントは3回発生します。ドメインオブジェクトの「変更された」イベントが複数回発生しますか?

擬似コード:

- Draw a borehole in a custom window<br /> 
- borehole.Changed += borehole_Changed<br /> 
- Change the color of the borehole<br /> 
- See event fire 3 times (I just added debug prints) 

編集:
私は何も変更せずに、設定を開いて、「OK」をクリックすると、3つのイベントが発射されるようにすることに気づきました。だから私はそれが実際に色を変更することとは関係がないと仮定します。

私はDomainObjectChangeEventArgs PropertyNamesプロパティもチェックしようとしましたが、それは常に空です。

+0

文脈を提供してください。いくつかのサンプルコードを表示 –

答えて

2

Changedイベントは、ColorInfo.ColorChanged、ImageInfo.ImageChangedなどを使用して段階的に廃止されているようです。実際、変更されたイベントは2011年の時点では変更されません。事件の原因となった原因が他にもあることが判明しました。

とにかく長い話をするには、Changedイベントを使用しないでください。

0

この現象は確認できません。イベントは1つしかありません。使用しているバージョンを教えてください。そして、あなたはコードや設定ページから色を変えていますか?

私の場合は、どちらの場合でもシングルコールバックを取得しました。

ありがとうございました

+0

私は2011.2を使用しており、設定ページで色を変更していました。 –

0

私は1つのイベントも取得しています。私は、ボアホール用のColorInfoから2011.1とColorChangedイベントを使用しています。

その他のケースでは、複数のイベントが表示されますが、データが変更されたときに、他のボアホール関連のデータが変更された場合に発生します。たとえば、KBを変更すると、多くの基本的な計算が行われ、複数のイベントトリガーが発生します。

+0

私はColorChangedイベントを購読していませんでした。多分その行動は違うでしょうか?ドメインオブジェクトChangedイベントを購読して、私の関心のある更新だけを解析することができればと思っていました。とにかく、同じイベントの複数回の発射が予想されるようです。 –

関連する問題