C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: ユーザーコントロールでのイベントをスルーする


(過去ログ 171 を表示中)

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■98355 / inTopicNo.1)  ユーザーコントロールでのイベントをスルーする
  
□投稿者/ 佐藤 (1回)-(2021/11/04(Thu) 11:58:51)

分類:[C#] 

お世話になります。

C#とWPFでアプリ開発を行っているのですが、ユーザーコントロールを指定しているDataGridのイベント発生をスルーしたいと考えております。

検索欄(TextBox)の下にDataGridがあり、DataGridの1行目を選択中に↑矢印キーを押下するとカーソルが検索欄へ移動するという実装を行いたいのですが
他画面でも使用しているUserControlに↑矢印キーを押下するとDataGridのSelectIndexを一つ上にするという処理があります。

該当画面の実装で「if (DataGrid1.SelectedIndex == 0)」の処理を記載しても先にユーザーコントロールでの処理が通ってしまうため
1行目(SelectedIndexは0)、2行目(SelectedIndexは1)共にSelectedIndexが0の状態で処理が流れてしまい、2行目選択時も検索欄へカーソルが移動してしまいます。

実装の関係上ユーザーコントロールの変更は行いたくないので、方法のご教示をいただけますと幸いです。
引用返信 編集キー/
■98361 / inTopicNo.2)  Re[1]: ユーザーコントロールでのイベントをスルーする
□投稿者/ ぶなっぷ (276回)-(2021/11/04(Thu) 17:52:57)
DataGrid と UserControl のウィンドウ関係が不明ですが、
双方のイベントが走ることからして、親子関係にあるウィンドウですよね?

バブルイベント と トンネルイベント というものをご存じですか?
  http://cyberboy6.blog.fc2.com/blog-entry-364.html

おそらく、現在は、
> 検索欄(TextBox)の下にDataGridがあり、DataGridの1行目を選択中に↑矢印キーを押下するとカーソルが検索欄へ移動するという実装を行いたいのですが
の↑矢印キー押下イベントの方が後に発生する状態だと思います。
先に発生するようにしたらどうでしょうか?

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -