問題タブ [commandbinding]
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 - Treeview は展開/折りたたみにコマンド バインディングを使用しますか?
WPF Treeview はキーストロークに応答して+、-ツリー内のノードを展開したり折りたたんだりします。すごい!
ツリービューで同じアクションを実行するためにツールバー ボタンまたはメニュー項目をバインドできる既存のコマンドはありますか? ストックコマンドの定数には、展開/折りたたみに関連するものは何もありません。
wpf - ContextMenus への CommandBinding の追加
さまざまなタイプのノードを含むツリービューがあります。
ツリー内の各ノードには、基になる ViewModel 内の ICommand オブジェクトの配列にバインドすることによって動的に作成されるコンテキスト メニューがあります。これは正常に機能し、コンテキスト メニューは期待どおりに機能します。
ただし、私のコマンドにはコマンド バインディングがないため、ツリービュー項目を選択してもメイン メニュー (切り取り/コピー/貼り付け) は変わりません。
私の質問は、コマンド バインディングを各ツリービュー アイテムに追加するにはどうすればよいですか?
それらにバインドできると思いますが、それを機能させることができませんでした。私の他の唯一の考えは、ツリービュー項目が選択/選択解除されたときにバインディングを作成/削除することです。
また、コマンドバインディングをツリービューアイテムに直接バインドできた場合、ツリーが大きい場合、これは非常にリソースを集中的に使用する可能性があることも懸念していましたか? 必要に応じてバインディングを作成および破棄する方がはるかに優れていますか?
c# - MenuItem の WPF CommandBinding ヘルプ
WPF の新機能...タブごとのバインドを使用してこの WPF Routed Command を読んでいて、それを機能させることに近づいています。
RuleTab (tabitem) が選択されるまで MenuItem は無効になりますが、検索ダイアログをポップするのではなく、メニューに System.Windows.Input.CommandBinding を表示します。私は何を間違っていますか?
XAML:
コード ビハインド:
どんな提案でも大歓迎です!
理解した!回答者に感謝します。私がしなければならなかったのは、コマンドバインディングを次の場所に移動することだけでした:
次に、MenuItem で Command=Find を参照します。
c# - WPF:MVVMを使用してListBoxItemにコマンドをバインドする方法は?
MVVMの学習を始めたばかりです。このMVVM チュートリアルに従ってアプリケーションをゼロから作成しました(すべての MVVM 初心者に強くお勧めします)。基本的に、これまでに作成したのは、ユーザーがデータを追加するいくつかのテキスト ボックスと、そのデータを保存するためのボタンです。これにより、作成されたすべてのエントリが ListBox に取り込まれます。
ここで行き詰まりました。ListBoxItem をダブルクリックして、作成して ViewModel に追加したコマンドをトリガーできるようにしたいのです。XAML 側を終了する方法がわかりません。つまり、そのコマンドを ListBox(Item) にバインドする方法がわかりません。
XAML は次のとおりです。
ビューモデルは次のとおりです。
最後に、ユーザーが EntriesListBox 内の項目をダブルクリックしたときに実行する OpenEntryCommand を次に示します。
助けてください、よろしくお願いします。
c# - 実行コマンドは、リソースディクショナリコードビハインドで起動しません
リソースディクショナリとそのためのコードビハインドファイルを作成しました。XAMLでは、コマンドバインディングを定義し、Executedハンドラーを追加しました。
コードビハインドは次のとおりです。
ボタンがクリックされたときにコマンドが実行されない理由と、CanExecuteをtrueに設定しなかったときにボタンが有効になる理由がわかりません。また、trueに設定しようとしましたが、CanExecuteイベントも発生しませんでした。リソースディクショナリの使用方法は次のとおりです。
wpf - WPF Rectangle CommandBinding MVVM
次の問題があります。多くの長方形(またはパス)があり、すべての長方形にコマンドを追加したいのですが、長方形をクリックすると、オブジェクトが長方形の値(色、名前)で塗りつぶされます。そして、GUI から、コマンドを実行するときに長方形の色を変更したいのですが、MVVM でそれを行うにはどうすればよいですか?
たとえば、オブジェクトRactangleがあります
wpf - InvalidateRequerySuggested() を使用せずに MediaCommands で CanExecute を実行できますか?
さまざまな MediaCommands (再生、一時停止など) の CanExecute ステータスを決定するカスタム CommandBindings がいくつかあります。特定の時点で CanExecute ハンドラーが呼び出されるようにトリガーしたいと思います。ただし、これを行う方法を理解できる唯一の方法は、InvalidateRequerySuggested() を使用することです。これにより、すべての CanExecute が再計算されます。これはやり過ぎで遅いため、これらのコマンドで CanExecute を更新する、より適切で的を絞った方法を見つけたいと思います。
RaiseCanExecuteChanged を呼び出すことでこれを実行できる DelegateCommand を使用した場合のように見えますが、可能であれば既存の MediaCommands で実行したいと考えています。
これを行う直接的な方法がない場合、ハッキーな回避策はありますか? 内部で CanExecute を再計算する際に、いくつかのインテリジェンスがあることに気付きました (初めて UIElements を表示するなど)。
c# - CommandBindings をコントロールに追加することと、RegisterClassCommandBinding を使用することに違いはありますか?
以前、私が使用していた
cmdCopy_Executed は非静的関数ですが、使用している人々を見てきました
CommandBinding は静的です。どちらが優先されますか?
wpf - VSPackage ToolWindow のキー/コマンド バインドで VS シェルが優先されないようにするにはどうすればよいですか?
入力ジェスチャを受け入れてさまざまなコマンドを実行するユーザー コントロールを wpf 持っています。以下の画像例では、 を押してコマンドをCtrl+N実行しNew
、 に新しいアイテムを作成できますTreeView
。
このユーザー コントロールが WPF アプリケーション内でホストされている場合、ユーザーはCtrl+N、フォーカスが にあるときにを使用して新しい項目を作成できます。また、フォーカスがアプリケーションの他の場所にあるときに をTreeView
押すCtrl+Nと、アプリケーション レベルのNew
コマンドが実行されます。
このユーザー コントロールが VSPackage ToolWindow 内でホストされているNew
場合、新しいファイルを作成する VS シェル レベルのコマンドは、ユーザーがを押したときCtrl+Nに、TreeView
.
VS Shell がキー/コマンド バインドで優先されないようにするにはどうすればよいですか?