いくつかの構造を持つ階層的な TreeView オブジェクトがあります。
- メインレベル
- セカンドレベル1
- セカンドレベル3
- セカンドレベル2
問題は、第 2 レベルのアイテムを選択すると、メイン レベルのアイテムの「選択済み」イベントが発生することです。どうすれば否定できますか?ブール値フラグと元のソース プロパティでいくつかのトリックを使用しようとしましたが、失敗しました。e.Handled = true でも結果が得られません。
アドバイスをありがとう、そして私の悪い英語をごめんなさい!
いくつかの構造を持つ階層的な TreeView オブジェクトがあります。
- メインレベル
- セカンドレベル1
- セカンドレベル3
- セカンドレベル2
問題は、第 2 レベルのアイテムを選択すると、メイン レベルのアイテムの「選択済み」イベントが発生することです。どうすれば否定できますか?ブール値フラグと元のソース プロパティでいくつかのトリックを使用しようとしましたが、失敗しました。e.Handled = true でも結果が得られません。
アドバイスをありがとう、そして私の悪い英語をごめんなさい!
AddHandler を使用して追加されたイベントは、おそらくあなたのケースである e.Handled フラグを無視します。イベントの Source が OriginalSource と等しいかどうかを確認し、等しい場合はハンドラを終了できますか?
問題は、私のコードの奇妙なバグにありました。アプリでスプラッシュスクリーンを使用すると、メイン レベルのイベントが発生します。スプラッシュスクリーンを無効にすると、e.Handled = true; で完全に機能します。騙す。
そのため、アイテム選択イベントハンドラーの最後で 2 番目のスプラッシュスクリーンを 0 ミリ秒呼び出すと、機能します。
皆さんありがとう。