問題タブ [routed-events]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wpf - トンネリング コマンド
ListBox でインスタンス化されたユーザー コントロールがいくつかあります。Window に を発生させるボタンと、それを実行できるようにNavigationCommands.Refresh
するCanExecute
ハンドラがあります。
これらの動的に作成されたユーザー コントロール (ListBox の ItemTemplate 内で作成) のそれぞれに、NavigationCommands.Refresh
. ウィンドウ内のボタンをクリックすると、各ユーザー コントロールで設定したハンドラーが起動しませんか? 各 UC にトンネリングするコマンドが必要ですが、そうではありません。
c# - RoutedEventHandler が指定された要素に正しく追加されていません
RoutedEventHandler
次のコード行を使用して、すべてのTextBoxes
スルー コードに追加しようとしています。
上記のコードは、ハンドラーを TextBox だけではなく、ウィンドウ上のすべてのフォーム コントロールにバインドします。誰かお願いします
- なぜこれが起こるのか説明してください
- そしてそれを正しく行う方法。
ありがとうございました。
c# - WPFのインターフェイスを介してキーボードイベントを発生させる
1台のコンピューターに接続された複数のキーボードからの入力(KeyPressイベント)を処理したいWPFでアプリケーションを構築しようとしています。したがって、WndProc()メソッドをオーバーライドして、さまざまなキーボードデバイスから入力を受け取ることができる単一のクラスがあります。これを実行している間、このクラスをMainWindowハンドルに登録すると、ウィンドウはCLRキーボードイベントを受信できるようになります。しかし、これは問題ではありません。
問題は、UserControl
これらのマルチキーボードイベントにも応答できるWPFで開発していることです。これらは同じウィンドウでインスタンス化されますが、インターフェイスを介してUserControls
(特にとして)イベントを送信することを考えていました。RoutedEvents
そのため、カスタムUserControlクラスはインターフェイスを実装するだけで、準備は完了です。
これを行う方法を知っていますか。私はWPFを初めて使用するため、問題が発生しています。
前もって感謝します !!!
wpf - LoadedEventのルーテッドイベントクラスハンドラーは、ほとんどのクラスでは機能しません
ロードされたすべてのイベントのハンドラーを登録しようとしています。
残念ながら、私のハンドラーは、WindowとDatePickerの子孫に対してのみ呼び出されます。他のタイプでは機能しません。
誰かがこの振る舞いを説明できますか?それはバグです、悲しいことに彼らはそれを無視することを選択しました。
アプリケーション/ウィンドウの新しい要素について通知を受ける他の方法はありますか?
wpf - WPF ルーティング イベント、カスタム イベントへのサブスクライブ
これらのイベントを手動で起動する子コントロールで動作するルーティング イベントを取得しようとしています。これらのイベントはバブルアップし、メイン グリッド レベルで処理されます。私は基本的に次のようなことをしたい:
しかし、サンプルを実行すると、プレゼンテーション フレームワークで null 参照が取得され、アプリケーションが初期化されず、XAML (InitializeComponent()) をロード/初期化しようとすると失敗します。イベントを含む小さなファイルは次のとおりです。
私は基本的に、ButtonBase.Click を使用して親が子の任意のボタン click() メソッドをサブスクライブできるようにする方法の動作をコピーしたいと考えています。しかし、これは ButtonBase.Click() 以外には機能していないようです。つまり、カスタムを切り替えるWpfApplication5:SpecialEvent.Tap="Catcher_Tap"
とButtonBase.Click="Catcher_Tap"
機能します。理由はありますか?ButtonBase は何をしていて、私はしていないのですか?
c# - WPFユーザーコントロールからルーティングされたイベントを受信していません
カスタムボタンとして機能するを持ってUserControl
いますが、ルーティングされたクリックイベントの周りの名前空間を変更したため、機能しなくなりました。基本的に、私の名前空間は次のようになります。
UI
UI.Controls
UI.Pages
UI.Controls.CustomButton
ルーティングされたクリックイベントが次のように実装されているがあります。
そして、私はそのUI.Pages.SomePage
ようなものの中からそれを使おうとしています:
XAML
C#
アプリケーションをデバッグすると、RaiseEvent
内部UI.Controls.CustomButton
がヒットしていることがわかりますが、NewButton_Click
内部UI.Pages.SomePage
が呼び出されることはありません。
これは、すべてが同じ名前空間にあるときに機能していました...明らかな何かが欠けていますか?ありがとう!
wpf - wpf xamlのEventTrigger RoutedEventアニメーション
アニメーションを起動したいMyObject.IsGlowing = true
ので、これを行いました(<DataTemplate>
それが役立つ場合があります)
しかし、 「トリガーコレクションのメンバーはEventTrigger型である必要があります」というエラーが発生したため、次のように変更しました
しかし、私は RoutedEvent に何を入れるべきか分かりません...
wpf - TabItemイベント処理内のDataGrid
2つのTabItemを持つTabControlがあり、1つのTabItem内にDataGridがあります。TabItemクリックを処理しようとしていますが、機能しますが、「dataGrid1」の1行をクリックすると、TabItemクリックのイベント「TabItem_MouseLeftButtonUp」も発生します。コードを参照してください:
注:<TabItem.Header>
TabItem.Headerを使用すると、MahAppsを使用しているため、パーソナライズを使用できません。スタイルosTabItemが壊れます。
c# - コントロールによるルーティングされたイベントの処理の停止
ルーティングされたイベントを把握しているところなので、簡単な質問です。
私はカスタムを持っていますUserControl
。これには他の多くのコントロールが含まれています。
ツリーのさらに上にある、含まれているコントロールの1つ(myではない)から発生するダブルクリックイベントに応答したいと思いますUserControl
。ただし、私UserControl
は明らかにイベントをキャッチし、source
プロパティをそれ自体に設定しています。どうすればこれをやめることができますか?
これはクリックされた最低レベルのコントロール(またはその他)OriginalSource
を指しているため、使用できません。Border
例えば。
OnMouseDoubleClick()
オーバーライドしてOnPreviewMouseDoubleClick()
inを試しましMyUserControl
たが、この時点で、MyUserControl
baseなどを呼び出す前でも、イベントのSourceはすでに設定されています。
どうもありがとう