問題タブ [mouseleftbuttonup]
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 - WPFタッチアップイベントの奇妙な動作
私の WPF アプリは完全に機能しますが、マウスを使用している場合のみです。タッチスクリーンのあるデバイスで使用すると、トラブルが発生します..
MouseLeftButtonUp および TouchUp イベントを処理するグリッドがあります。
ここで、グリッドを押すと、関連するイベントが処理されます。次に、他のコントロールを押すと、他のコントロールが期待どおりに TouchUp イベントをキャッチし、TouchUp イベントが MouseLeftButtonUp イベントに変換されます。
ただし、新しく発生した MouseLeftButtonUp イベントは、押したコントロールに対してではなく、上記のグリッドに対して発生します! なぜこのように振る舞うのですか?
前もって感謝します...
wpf - リーフではなく親から発生する TreeViewItem MouseLeftButtonUp イベント
目標: 1 回のクリックでツリービュー項目を展開しようとしています。選択したノードにアクセスし、DataContext
展開/折りたたみのプロパティを設定する必要があります。
私が試した
ことは、 (MLBU)&のために着EventSetter
ました。ただし、リーフ ノードをクリックすると、MLBU ハンドラーで送信者のヘッダー プロパティがリーフではなく親として取得されます。はリーフ コントロールを正しく指しています。しかし、それを使用する場合は、ソースのすべてのタイプを判別してから値を取得する必要があります。TreeViewItem
MouseLeftButtonUp
PreviewMouseLeftButtonUp
OriginalSource
これを達成する他の方法はありますか?
編集
イベントを設定するための XAML:
ツリービュー アイテムには、要件に基づいて異なるデータ テンプレートがあります。したがって、OriginalSource では、Image
またはSystem.Windows.Documents.Run
(来てLabel
) のいずれかになります。したがって、作成するコントロールの種類ごとに if-else を配置する必要があります。一方、私の DataContext には、展開するように設定できるプロパティを持つ各アイテムのトップレベルのインターフェイスがあります。したがって、一般的な変換が機能します。
wpf - WPF: リストビュー項目のクリックで MouseLeftButtonUp イベントから m オブジェクト プロパティをバインドする方法
だから私はこれを持っていますobject
:
だから私は私の( )とListView
バインドしており、ユーザーがクリックすると、プロパティをからに変更したい(またはその逆...)object
Test
ListViewItem
IsSelected
true
false
そしてMouseLeftButtonUp
:
私のExecute
命令:
property
したがって、このメソッド内でオブジェクトを変更する代わりに、Execute
どのようにそれを行うのだろうかXAML