問題タブ [inputbinding]

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.

0 投票する
1 に答える
2034 参照

wpf - DataGrid で「return」キーに入力バインドすると、編集セルから離れません

グリッドにいるとき、何かをするためにいくつかのキーをキャプチャしたいと考えています。「delete」キーをキャプチャして問題はありませんが、「Return」キーをキャプチャしようとしてセルを編集しているときに、Return キーを押してもセル編集モードを終了しません。

Return のキーバインドを行わないと、セルの編集中に Return キーを押すと、編集モードが終了して次の行に移動します。

「Return」キーバインディングのコードを全てコメントすると問題が発生するので、問題は使用しているコードではなく、return キーの入力キーバインディングにあると思います。

リターンキーを取得したい場合、特別な考慮が必要ですか?

バインディングを作成するために、xaml で次のコードを使用しています。

ありがとう。

0 投票する
1 に答える
1108 参照

wpf - InputBinding コマンドと ToggleButton を処理する方法は?

次のように、編集モードをアクティブにするためのショートカットとして F6 が機能することを意図した InputBinding があります。

ボタン自体は次のようになります。

ボタンを手動で押すと、コマンドがトリガーされます。また、ユーザーが F6 を押した場合。ただし、その場合、ボタンは IsChecked 状態になりません。KeyBinding に別のコマンドをコーディングせずにこれを達成するにはどうすればよいですか?

0 投票する
1 に答える
1340 参照

wpf - 入力キーをwpfのitemscontrolにバインドする方法

キャンバス上にアイテムを持つアイテムコントロールがあります。削除を押すと、キャンバスからアイテムを削除したいのですが、次のようになります。

ただし、DeleteItemCommandのメソッドが呼び出されることはありません。

どうすればこれを達成できますか?

0 投票する
0 に答える
946 参照

wpf - WPF 入力バインディングでさまざまなコマンドをトリガーするさまざまな修飾子

WPF で同じマウス アクションに対して異なる修飾キーに対して異なるコマンドをトリガーする方法を見つけようとして、問題が発生しました。ユーザーがポイントを選択できるようにするグラフクラスのセットを開発しました。グラフオブジェクトは選択されたポイントのリストを保持し、ポイントをパラメーターとして渡したときのコマンドは、指定されたポイントのみを選択する必要があります。 (SelectPointCommand) またはポイントを現在の選択に追加します (AddPointToSelectionCommand)。

コマンドの実行時に実行されるコードで Keyboard.Modifiers をチェックするだけでよいことは承知していますが、グラフ オブジェクト自体の特定の修飾キーに制限するのではなく、かなり高いレベルで機能を提供したいと考えています。同じ機能を他の方法で簡単にトリガーできるようにします。ボタンをクリックします。

次の XAML が機能すると考えていたでしょう (境界線は実際のデータ テンプレートを単純化したものであり、マウス ジェスチャの検出に問題はありません)。

この XAML では、どの修飾キーが押されているかに関係なく、ほとんどの場合、LeftClick の MouseBinding がトリガーされます。Ctrl+LeftClick または Shift+LeftClick は時々トリガーされるようですが、特定のパターンではトリガーされません。修飾子を使用したより具体的なバインディングがトリガーされなかった場合にのみ LeftClick MouseBinding がトリガーされるという仮定の下で、より高いレベル (およびより低いレベル) で LeftClick マウスバインディングを定義しようとしましたが、そのようには機能しないようです。

より一般的な意味で、同じマウスアクションを異なる修飾キーで異なるコマンドにバインドすることは実際に可能ですか? より具体的なバインディング、または XAML で以前に定義されたバインディングが、より広範な/後で定義されたものではなくトリガーされると考えていたでしょう。

0 投票する
5 に答える
24885 参照

wpf - TextBox にフォーカスがある場合、UserControl の KeyBinding が機能しない

以下の状況。5 つのキーバインドを持つ UserControl があります。TextBox にフォーカスがある場合、UserControl のキーバインドは起動を停止します。

この「問題」を解決する方法はありますか?

ファンクションキー ( F1etc) とALT+が機能するよう[key]です。CTRL修飾子とSHIFT修飾子が何らかの形でイベントが UserControl にバブリングするのを「ブロック」していると思います。

0 投票する
1 に答える
434 参照

wpf - コンポジション後にウィンドウにInputBindingsを追加する方法は?

私は、よく知られている Calculator の例の独自のバージョンを実装することにより、MEF フレームワークの操作をマスターしようとしています。ユーザー インターフェイスは WPF です。

構成後、Viewmodel はビュー内ObservableCollection(Of IOperation)の「ListBox」によって表される を保持Buttonsします。それぞれのテキストButtonは、という名前のプロパティとしてChar定義されています。ListBox の SelectedItem を ViewModel のプロパティにバインドすること で、どちらが押されたかを知らなくても、現在選択されているメソッドを起動できます。(以下にこれを示すコード。)IOperationSymbolCalculateIOperationButton

ただし、InputBindingsここで View に追加する必要があります。ここで、それぞれがで定義されているKeyBindingに関連付けられます。( ) ステートメントを実装して Viewmodel のs のコレクションを反復処理し、「Calculate」メソッドを呼び出す必要があるものを選択することは避けられないようです。SymbolIOperationSelect CaseswitchIOperation

何か案は?

XAML:

操作:

ビューモデル:

0 投票する
1 に答える
1846 参照

wpf - WPF DataGrid 行のみを左クリック

行が選択されている場合にのみ有効にするデータグリッドの左クリックを行うにはどうすればよいですか? 以下に例を示します。

データグリッドの行をクリックしないとコマンドも実行されますが、行をクリックしたときにのみ実行したいです。

0 投票する
0 に答える
677 参照

c# - このクラスをシリアル化するにはどうすればよいですか?

私は次のクラス(スニペット)を持っています:

私はこのようにそれをシリアライズしようとします:

しかし、シリアル化しようとすると、例外が発生します。

「タイプ 'System.Windows.Controls.Grid' を反映するエラーが発生しました。」

内部例外は次のとおりです。

「プロパティ 'InputBindings' を反映するエラーが発生しました。」

さて、ペインのグリッドのInputBindingsが問題の原因だと思います...XMLでこの属性を無視する方法はありますか? または、この問題を回避する別の方法がある場合は?

0 投票する
1 に答える
742 参照

c# - Inputbinding - マウス クリック間の遅延、EventToCommand は正常に動作

今日まで、私は XAML でのイベント処理に MVVM Light の EventToCommand を使用してきました。マウス イベントの InputBinding を試してみることにしましたが、これまでのところ、満足のいく結果にはほど遠いものでした。マウス クリックの間におそらく 0.5 秒の遅延があるため、何か間違ったことをしていると思います。EventToCommand を使用すると、UI はクリックするだけですばやく更新されます。現時点でこのテスト プログラムが行っていることは、クリックされたときにキャンバス上の円を白または黒で塗りつぶすことだけです。

クリック間の遅延を引き起こすために、ここで何か間違ったことをしていますか? これが意図した動作になるとは想像できません。EventToCommand をほぼ同じようにセットアップしましたが、問題はありません。さらに、私がばかげた間違いを犯し、これが意図した動作ではないと仮定すると、Key および Mouse イベントの EventToCommand よりも InputBinding の利点はありますか、またはその逆ですか? 機能とパフォーマンスの点で 2 つはどのように異なりますか (この状況でそれが問題になる場合)?

編集 - InputBinding と EventToCommand (ほぼ同じように設定しました) の両方で気付いたもう 1 つのことは、円をクリックするたびに、タスク マネージャーがプログラムのメモリ使用量を少しずつ増やしていることです。これは正常ですか?