問題タブ [routed-commands]

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 に答える
443 参照

wpf - RoutedCommand を新しい ViewModel に取得するには?

MVVM を使用して開発された、比較的単純な階層データ マスター/詳細 WPF ウィンドウがあります。ここで、ウィンドウは、詳細ビューの ViewModel をプロパティの 1 つとして公開する ViewModel を指します。

ViewModelBaseRoslyn を使用して Visual Basic に移植したJosh Smith のVMCommandingコードの実装が含まれています。

Window の XAML は基本的に次のようになりますが、無関係な詳細と多数の閉じ括弧が省略されています。

「Master」のアイテムを選択すると、「Detail」の が対応する DetailViewModel に設定されますListBox。そのリスト ボックスで 2 番目の項目を選択すると、[詳細] ボックスの が、選択した対応する DetailViewModel に変更されます。パフォーマンス上の理由から、一度選択すると DetailViewModel が保持され、[詳細] ボックスの内外に切り替えられます。DataContextListBoxDataContextDataContext

「詳細」でアイテムを選択するListBoxと、「マスター」ボックスで選択された ViewModel によってキャッチされることになっている RoutedCommand がトリガーされます。ただし、RoutedCommandがフォーカスを正しい DetailViewModel に変更することはありません。コマンドは、最初の「マスター」ListBox 選択に対応する DetailViewModel によって常にキャッチされます。

他に何をする必要がありますか?

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

python - Djangoで構築されたWebベースのアプリケーションからSSHを使用してリモートホストでコマンドを実行するには?

リモートホストでいくつかのコマンドを実行する必要があります。このホストは「ルーター」になります。私は RPC 呼び出しを扱ったことがありません。Djangoもう 1 つの大きな問題は、 Web ベースのアプリケーションからこれらのコマンドを実行する必要があることです。手順は次のとおりです。

  • ユーザーがページを開き、実行するコマンドを選択します
  • ユーザーは、指定されたリストからリモート ホストを選択します
  • ユーザーが実行ボタンをクリック
  • その間、Django はセキュリティの問題をチェックします。を使用してリモートホストを承認することを意味しますSSH
  • そして、必要なコマンドがホスト上で実行され、メッセージが送り返されます"Done!"

この問題に取り組むにはどうすればよいですか?

ユーザー プロファイル ページからリモート ホストへの SSH 接続を作成するにはどうすればよいですか?

セキュリティ上の理由から、ユーザーの秘密鍵を使用して接続を作成したいと考えています。関連する質問もいくつか見つけましたが、正しい方向がわかりませんでした:)

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

c# - バブリングの代わりにトンネリングを使用するRoutedCommands

MyControlカスタムコマンドを公開するカスタムコントロール( )があります。Window親がこのコマンドを呼び出せるようにしたいのですが、全員MyControlsがそれに反応する必要があります。

コマンドをMyControlCommandBindingsコレクションに追加しました。これは、CanExecute常にtrueを返すコールバックも提供します。

私の問題は、このコマンドを呼び出すメニュー項目が有効にならないことです。これは、メニューがビジュアルツリーの上部にあるためだと思いますが、正直なところ、スコープが正確MyControlsにどのように機能するかについては少しあいまいです。RoutedUICommand

誰かが私が間違っていることを明確にすることができますか、またはこれが可能であるかどうか?

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

c# - Datatemplate内でCommandBindingを設定できません

以下は2つのxamlスニペットです。唯一の違いは、1つの例がウィンドウのビジュアルツリーに直接入力され、もう1つの例がDataContextデータテンプレートを適用して同じウィンドウを構築することです。

ビジュアルツリーコンテンツ/DataContext

ビジネスオブジェクトのコンテンツとデータテンプレート

最初の例(ビジュアルツリーコンテンツとデータコンテキスト)は、デザイナーが2番目の例でコンパイル時エラーを発生させている間は期待どおりに機能します。デリゲートタイプ。「デザイナエラーにもかかわらず、ルーティングされたコマンドハンドラが実行されていることを確認した場所で、アプリケーションをローカルで実行する場合があります。他のPCでアプリケーションを実行しようとすると、アプリケーションは起動時にサイレントに失敗し、Windowsイベントログにxamlロードエラーログエントリが残ります。2番目のスニペットからコマンドバインディングを削除すると、デザイナーエラーがなくなり、アプリケーションはローカルと他のPCの両方で問題なく実行されます。

誰かが例外の原因と、テンプレート内でコマンドバインディングを指定する方法を説明してください。

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

c# - ビューの分離、コマンドプレゼンテーション(テキスト、アイコン)、およびコマンドロジック(実行、実行)

TL; DRの場合:最後の段落を参照してください。

純粋なWPFは、プレゼンテーション(コントロール、テキスト、アイコン)をビューに配置し、コマンドロジック(Execute、CanExecuteメソッド)をコードビハインドに配置することを「提案」します。ビュー()とコードビハインドの両方にロジックを配置することに加えて、練習で眉をひそめることは、 XAMLの複製CommandBindingsにはまったく役立ちません:テキスト、アイコン、大きなアイコン、ヒント、およびその他の多数のプロパティは、コマンドのたびに複製する必要があります使用されるもの:メインメニュー、コンテキストメニュー、ツールバーボタン、リボンボタンおよびその他のコントロール。

DelegateCommand最初の問題(ビューとロジックを本当に分離する)は、によって解決されるように見え、そのRelayCommandようなアプローチがあります。コマンドロジックはViewModels(またはMVVMCの場合はControllers)に移動され、コードビハインドはクリーンで、CommandBindingsビューには意味がありません。

ただし、プレゼンテーションの重複の問題に対して一般的に受け入れられている解決策を見つけることができません。コマンド表示(テキスト、アイコン)とコマンドロジックExecuteCanExecuteメソッド)を分離したい。私が見つけたすべてのコードは、プレゼンテーションをコードに入れるか(andなどのRoutedCommand追加のプロパティを使用してを作成することによって)、コードをプレゼンテーションに入れます(つまり、ハンドラーをビューとコードビハインドに入れます)。私も好きではありません。プレゼンテーションは完全にXAMLで、コードは完全にCS(ViewModelまたはController)である必要があると思います。LabelIcon

質問:ビュー(コマンドを参照するコントロールを備えたXAML)、コマンドの表示(すべてのコマンドのラベル、アイコンなど)、およびコマンドのロジック(ViewModelsまたはControllersのC#コードなどExecute)を分離する方法は?CanExecute

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

wpf - ボタンがツールバーにある場合にのみコマンドバインディングが機能するのはなぜですか?

コマンド付きのボタンを含むツールバー付きのウィンドウがあります。ツールバーをボタンを含むスタックパネルに置き換えたため、ボタンが機能しなくなりました。

私の理解では、この音は何の違いもありません。ボタンにはまだCommandプロパティが設定されており、カスタムコマンドクラスでは何も変更せず、CommandBindingも同じです。これらは、ボタンよりも深いグリッドとユーザーコントロールに実装されていますが、ボタンがツールバーコントロールにある限り、機能します。

CommandBindingをウィンドウに直接実装すると、機能します(ただし、それは私が望んでいることではありません)

コードは次のとおりです(要約):

私はそれがコンパイルされないことを知っていますが、私はそれを単純化する必要がありました。これは、アプリで「StackPanel」を「ToolBar」に置き換えるとすぐに機能します。どうしてそれができるのでしょうか?

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

.net - プログラムがバックグラウンドで実行されているときの WPF MediaCommands

次のように、 .NET メディア コマンドの一部をルーティング コマンドとして MainWindowに実装したプログラムがあります。

プログラムが現在使用されている場合、これは正しく機能します。ただし、別のプログラムに切り替えて TogglePlayPause MediaCommand を送信すると、コマンドは起動されません (CanExecute は呼び出されません)。

バックグラウンドで実行されている場合でも、プログラムが常に MediaCommands に応答するようにする方法はありますか?

FWIWプログラムRdioはこれを実行できるようです。バックグラウンドで MediaCommand を送信すると、音楽が再生または一時停止されます。

ありがとうございました。

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

c# - RelayCommand と EventToCommand

Mvvmlightについて少し混乱していRelayCommandます。EventToCommandEventToCommand処理し、EventTrigger仕事RelayCommandをするようです。そのような:

私の理解は正しいですか?

では、 を使用する必要はなく、をRelayCommand直接使用できますか?EventTriggerEventToCommand

ご協力いただきありがとうございます!

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

c# - コマンドをウィンドウの一部でのみ機能させる

私はこのxamlを持っています

およびこのコード ビハインド ファイル:

ご覧のとおり、ウィンドウに Cmd というコマンドがあります。ウィンドウ内には、黄色と緑色の 2 つの長方形があります。コマンド Cmd は、マウスが黄色の四角形でクリックされたときにのみ機能し、緑色の四角形では機能しません。どうすればこれを達成できますか?