問題タブ [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.

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

wpf - CanExcuteイベントはいつCommandSourceによって発生しますか

CanExecuteイベントは、 ICommandSourceインターフェイスを実現するコントロールによって理想的に発生するのはいつですか。ハンドラーにブレークポイントを追加して、ハンドラーがいつ発生するかを確認しようとしましたが、コントロールが画面に表示されるたびに実行されるようです。誰かがそれがいつ正確に上げられるのか、そしてそれを自由に上げる方法を説明できますか?

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

mvvm - MVVM-それぞれにコマンドが含まれているオブジェクトのリストで、適切なコマンドを起動するにはどうすればよいですか?

たぶん私はこれを間違った方法で行っていますが、私のビューモデルには、それぞれがDelegateCommandプロパティを含むオブジェクトのリスト(CGCAppSwitchboardItem)があります。ここでの私の意図は、リスト内の各アイテム(CGCAppSwitchboardItem)がソリューション内のモジュールを表し、コマンドの呼び出しによってモジュールがロードされることです。または、より適切に言えば、このリストを使用して、選択したときに要求されたビューを開くボタンまたはメニュー項目のリストを作成しています。

私が抱えている問題は、最後のCGCAppSwitchboardItemのコマンドが、押されたボタンに関係なく起動されるコマンドであるということです。私はそれらを異なる順序で追加することによってこれをテストしました、そして最後に追加された方が、それが起動されるコマンドです。どうすれば適切なコマンドを実行できますか?

編集:問題を絞り込んだのですが、どうしたらよいかわかりません。この問題は、RunMethodに割り当てるときに作成しているジェネリック関数で発生しています。以下のコードを見ると、CGCAppSwitchboardItemクラスを作成するときにRunMethodを割り当てています。私のジェネリック関数を見ると、itm.ModuleNameプロパティを渡しています。どうやら、新しく作成されたデリゲート、つまりRunMethodに割り当てているデリゲートは、必要な文字列値ではなく、itm.ModuleNameへの参照を保持しているようです。これはループ内にあるため、itm変数はリストの最後のモジュールに設定されたままになります。したがって、RunMethod()が呼び出されると、「MyModuleName」ではなくitm.ModuleNameが参照されます。何か案は?

//...簡潔にするために削除されたコードprivatevoidPopulateSwitchboardItems(){if(_moduleCatalog!= null){_switchBoardItems.Clear();

System.Windows.Forms.MessageBox.Show(itm.ModuleName); _moduleManager.LoadModule(itm.ModuleName); //_moduleManager.LoadModule("ATimesheetModule"); }}); }}}

0 投票する
3 に答える
3518 参照

wpf - タブごとのバインディングを使用したWPFルーティングコマンド

現在のタブが変更されたときのTabItem内のボタンと同じように、TabControlの外のボタンを無効および有効にするつもりでした。ただし、TabItemのCommandBindingsは、ビジュアルツリーの「上」に影響を与えないようです。これを行う正しい方法何ですか?

このXAMLの場合:

このコードの背後にあるもの:

0 投票する
2 に答える
3325 参照

wpf - WPF: コマンド バインディングとスレッドを使用してボタンの有効/無効状態を制御する際の問題

出力を表示するためのボタンとテキストボックスを単純に含む WPF アプリがあります。ユーザーがボタンをクリックすると、ボタンを無効にするスレッドが開始され、出力テキストボックスに内容が出力され、スレッドが停止します(その時点でボタンを再度有効にする必要があります)。

アプリケーションは、ボタンを適切に無効にし、テキストボックスを適切に更新しているように見えます。ただし、スレッドが完了すると、常にボタンを適切に再度有効にできません! 誰が私が間違っているのか教えてもらえますか?

これが私のxamlのスニペットです:

これが私のViewModelコードです(私はJosh SmithのMVVM設計を使用しています):

0 投票する
4 に答える
18464 参照

wpf - ウィンドウがwpfにロードされたときにコマンドを起動する方法

ウィンドウがロードされたことを通知するコマンドを起動することは可能ですか。また、MVVM フレームワーク (フレームワークという意味では、Caliburn、Onxy、MVVM Toolkit など) は使用していません。

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

c# - リボン ボタンをクイック アクセス ツールバーに直接追加する際の問題

CanAddToQuickAccessToolBarDirectly プロパティを使用して、リボン ボタンをクイック アクセス ツールバーに直接追加しようとしています。これを行うには、このソースのボタンでコマンドを有効にする必要があることを読みました ( http://blogs.msdn.com/b/llobo/archive/2010/08/06/wpf-ribbon-basics.aspx#コメント)。ボタンにコマンドを追加すると、無効になります (グレー表示されます)。

以下は、ボタンに関連付けられた XAML コード スニペット、問題の視覚的表現、およびリボン バーに関連付けられた CommandBinding です。

代替テキスト (リンク: http://i.stack.imgur.com/mV53U.png )

この問題に関するご支援をいただければ幸いです。この RibbonControlsLibrary.DLL はかなり新しいものです (8 月 2 日にリリース)。

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

wpf - CanExecuteメソッドが誤った問題になります

まあ、私たちのアプリケーションでは、これは通常うまくいきます。ただし、ある時点で、CanExecuteメソッドはいずれも起動しません(CommandManager.InvalidateRequerySuggested()を明示的に呼び出しても、CanExecuteメソッドは実行されません)。とにかく、実行されないにもかかわらず、すべてfalseに設定されるため、CommandBindingにバインドされているすべてのボタン、メニュー項目などは、メインウィンドウをクリックするまで無効になります。

さて、これを引き起こしている別のウィンドウが疑われます。特定のアクションを実行すると、ウィンドウがポップアップし、次のアクションの後、CanExecuteメソッドを経由せずにすべてのボタンが無効になります。

誰かがそのような行動を見たことがありますか?これを解決する方法についての提案は大歓迎です。

ありがとう。

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

c# - WPF CommandBindingで送信者をメインウィンドウではなくボタンにする方法は?

WPF MainWindow の Button には、通常のコマンド属性があります。クリックすると、ハンドラー メソッドが送信者を受け取ります。ただし、送信者は常に MainWidow です。送信者を Button にする方法は? このコマンドを複数のボタンに設定し、多くの送信者に対して単一のハンドラーを使用したいので、特定のボタンにする必要があります。ありがとうございました

0 投票する
4 に答える
4587 参照

wpf - ルーティングされたコマンドのテキストをボタンのコンテンツとして使用する方法

RoutedUICommandを介してViewModelで定義されたコマンドにバインドされているビューにボタンがあります。

ビューからのXAMLコードの抜粋:

ビューのCodeBehindで、ViewModelからのコマンドバインディングをビューのバインディングコレクションに追加します。

ViewModel自体は、次のコマンドを実装します。

そのため、コマンドはテキストと名前の両方で「ログイン」で定義されました。ボタン自体には「ログイン」という内容があります。コマンドのテキストをボタンのコンテンツとして使用する方法はありますか?

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

wpf - CommandBinding の質問です。コマンドボタンを有効にする方法

私のコードはこちら>>

Xamlには、テキストボックスとボタンがあります。によってバインドされたテキストボックス、 によってバインドされurlたボタンAddAttackTask。テキストボックスの値を変更すると、URLが変更されました。主なターゲットは、URLを変更すると、ボタンが有効または無効になります。ただし、ボタンは常に無効になっています。

Model-View-ViewModel デザイン パターンを使用して WPF アプリから RelayCommand クラスを取得しています

私のコードで何が間違っていますか?

コマンドバインディングを修正してください!