問題タブ [relaycommand]

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

silverlight-4.0 - SL4:ViewModelのコマンドにパラメーターとしてViewの要素を渡す

子コントロールの1つにコンテキストメニューを備えたユーザーコントロールがあります。
コマンドは、ViewModelのRelayCommandにバインドされています。
ただし、コマンドはビュー内の別の子コントロールに作用する必要があります。
これを行うための最良の方法は何ですか?目的の子コントロールをパラメーターとして渡そうとしましたが、構文が正しくないと思います。

コマンド:

コンテキストメニューを使用すると、Recenter()が呼び出されますが、objパラメータがnullです。
CommandParameterバインディングのElementName属性の正しい構文は何ですか?

更新:CommandParameterを次のように変更してみました:

...しかし、それでも機能しません。

洞察をありがとう....

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

wpf - パラメータ付き RelayCommand

アプリケーションで MVVM Light ツールキットを使用しており、コマンドの受け渡しについて学習しようとしています。次の XAML コード スニペットがあります。

要素 swPicture には、Pictures コレクションからのアイテム ソースが含まれます。とりあえずのテストとして、1枚の写真しかありません。

swPicture Element にある Pictures からの単一の最初の画像をコマンドにパラメーターとして渡すにはどうすればよいですか?

当分の間、以下に定義されているように、モデル内の次のコマンド ハンドラーを使用して、パラメーターなしで単一のコマンドをトリガーすることができます。

アイデアは、このパラメーターを受け入れる GetMetaData に渡すために、コレクションの最初の画像をパラメーターとしてコマンドに渡す必要があるということです

XAML コードとコマンドを更新して機能させるにはどうすればよいですか?

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

wpf - ItemContainerStyleでEventToCommandを使用するには?

これが現在の仕組みです。すべての ListBoxItem の DoubleClick イベントを RelayCommand にバインドしたい場合はどうすればよいですか?

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

c# - MVVMLightRelayCommandを介したジェネリック型のバインド

ItemsControlのアイテムに適用される暗黙のデータテンプレートを使用しています。

これは、次のように私のViewModelにデータバインドされます。

'ca'のタイプに一致するCategoryAttributeVM2sからオブジェクトを取得するにはどうすればよいですか?初歩的なものが欠けていると思いますが、見えません。

ジェネリックのアプローチは素晴らしいでしょうが、RelayCommandをそのようにジェネリックにすることはできません。

何か案は?

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

wpf - WPF。RelayCommand-実行が処理されている間、CanExecutefalse

コマンドの処理中にボタンを無効にしたい。

_isSearchInProgressを変更するにはどうすればよいですか?フィールドにアクセスできない場所(RelayCommandオブジェクト)から実行されるため、「Execute」デリゲート内では実行できませんでした(私の理解が正しい場合)。

助けてくれてありがとう。

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

c# - MVVM Light での EventToCommand の問題

EventToCommand を介してコマンドを送信しようとしている次のビジュアル ツリーがあります。ビジュアルは次のとおりです。

コマンドが接続されている境界線をクリックすると、次のポップアップ エラーが表示されます。

「タイプ 'System.InvalidCastException' の未処理の例外が GalaSoft.MvvmLight.WPF4.dll で発生しました

追加情報: タイプ 'System.Windows.Input.MouseButtonEventArgs' のオブジェクトをタイプ 'System.Windows.DependencyObject' にキャストできません。"

私のコマンドは、次のように viemModel で作成されます。

私は何を間違えましたか?

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

c# - RelayCommands を宣言するための最良/最も適切な方法

ViewModels で RelayCommands を宣言するためのきちんとした簡潔な方法を見つけようとしています。

私が思いつくことができる最高のものは次のとおりです。

}

私が本当にやりたいのは、次のような2段階の宣言/構築を削除することです:

ただし、これはコンパイルに失敗します

エラー CS0236: フィールド初期化子は、非静的フィールド、メソッド、またはプロパティ 'MyViewModel.OnStop(object)' を参照できません

人々が使用するよりきちんとした/「標準的な」方法はありますか?

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

c# - コマンド パラメータの受け渡し

コマンドでコマンド パラメータを渡そうとしています。コマンドは一般的に機能していますが、パラメーターを渡すことはうまくいかないようです。

XAML で階層データから UserName プロパティを渡そうとしています。ここで何が間違っていますか。

コマンドステートメントでコンパイルしようとするとエラーが発生します:

「ラムダ式」から「System.Action」に変換できません

RelayCommand クラス

助けてくれてありがとう!

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

c# - MVVM/MDIアプリでRelayCommandsがほぼ重複しないようにする

MDIソリューション(http://wpfmdi.codeplex.com/を参照)とMVVMを使用しています。

次のように、1つのRelayCommandを使用してツールバーやメニューをメインViewModelにバインドします。

ただし、子ウィンドウでボタンを同じ機能にバインドするには、メソッドEditSelectedItemとCanExecuteEditSelectedItemを直接呼び出すことを除いて、ほぼ同じ別のRelayCommandが必要です。次のようになります。

私は約10個、将来的には50個以上のそのようなコマンドが必要なので、今は正しい方法で実行したいと思います。これを防ぐ方法、またはこれを行うためのより良い方法はありますか?

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

c# - RelayCommand AND 追加条件のバインド

メイン ウィンドウの RelayCommand の CanExecute を、おそらく存在しない子ウィンドウにバインドしようとしています。どうすればいいですか?

現在私は持っています:

ただし、コンバーターは CurrentChildViewModel (および CanExecuteCompactCommand ではなく) で動作する必要があるため、これは機能していないようですが、その CanExecuteCompactCommand も何らかの方法で含める必要があります。

CurrentChildViewModel != null および CurrentChildViewModel.CanExecuteCompactCommand() が true を返す場合にのみ、メニュー項目を有効にしたい。

(理由: CurrentChildViewModel はウィンドウの ViewModel であり、開くかどうかを指定できます。開いていない場合は、メニュー項目を無効にする必要があります。また、開いている場合は、コンパクト コマンドの CanExecute メソッドでコンパクト コマンドが有効かどうかを確認します。これは、ChildView (モデル) のリストビューで少なくとも 2 つの項目が選択されているようなものです)。

誰でも助けてもらえますか?