問題タブ [mvvm-light]

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 投票する
4 に答える
4720 参照

silverlight - MVVM Light は速すぎます :)

.を持つ単純な WM7 ページがありTextBoxます。さらに、イベントに反応してEventToCommand(a RelayCommand<string>) を thisに割り当てました。目的をテストするために、ページの分離コードに追加のメソッドを作成しました。コマンドとテキストボックスの内容を含むメッセージボックスを出力します。TextBoxTextChangedTextBox_TextChangedTextBox_TextChanged

の初期値はTextBoxです"ABC"。次に、D を押します。

  1. TextBox_TextChanged印刷しABCDます。
  2. コマンドは を出力しABCます。D がありません。

コマンドが速いのはなぜですか?

コマンド宣言:

コマンドの初期化:

コマンドバインディング:

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

silverlight - EventToCommandを使用するときに、どのデータフォームボタンが編集を終了したかを確認する方法

私はSilverLightとMvvm-Lightを初めて使用します。ビューモデルのSelectedPersonプロパティ(Personオブジェクト)を表示/編集するDataFormがビューにあります。

ユーザーが[保存]ボタンをクリックしたときにビューモデルでコマンドを実行したいのですが、ユーザーが[キャンセル]をクリックした場合にアクションを実行したくありません。

ViewModelに以下を追加しました。

ビューに以下を追加しました。

これは機能し、ユーザーが[送信]を押すとDoSomethingメソッドが呼び出されます。ただし、ユーザーが[キャンセル]を押すと、DoSomethingも呼び出されます。どのボタンが押されたかを知る方法や、キャンセルが押されたときに通話を抑制する方法はありますか?

あなたが提供できるどんな助けにも感謝します!

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

c# - WPF MVVM VIEW MODEL から親を取得

MVVM WPF アプリケーション内。

から 2 番目のウィンドウの親をどのように設定しますViewModelか?

例:

view1--viewModel1

viewModel1のコマンド呼び出し:

view2.Owner= <----これが問題の領域です。から所有者としてview1を取得するにはどうすればよいviewModelですか?

編集:

以下の受け入れられた回答を参照してから、次の編集を読んでください。

私はMVVMライトを使用しています-> http://mvvmlight.codeplex.com/ (素晴らしいところで)

組み込みのメッセージング システムは優れています。ビューモデルから別のウィンドウを表示するようにビューにメッセージを送信しています。

メッセージについては、現在、メイン ビューで switch ステートメントを含む文字列を使用して、開くビューを決定しています。ただし、MVVM ライト ツールキットの一部でもあるトークンをいじる場合があります。

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

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

mvvm - ObservableCollection を使用して DataService を最新の状態に保つにはどうすればよいですか?

ファイルから顧客のコレクションを読み取るか、顧客のコレクションを作成し、それをメイン モデル ビューに戻して ObservableCollection に変換する、CustomerService というクラスがあります。CustomerService と ObservableCollection の項目が同期していることを確認するためのベスト プラクティスは何ですか。RaisePropertyChanged に応答するように CustomerService オブジェクトを接続できると思いますが、これは WPF コントロールでのみ使用するためのものではありませんか? より良い方法はありますか?

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

silverlight - 実行時にSilverlightDataGridの列を動的に指定および変更する(MVVM)

MVVMパターンに従って実行時にSilverlightDataGridコントロールでDataGrid列を動的に指定する最良の方法は何ですか?

私がやりたいのは、「DataGrid.Columns」プロパティをViewModelのプロパティにバインドして、ユーザーが列を追加/削除した場合に、ViewModelプロパティを更新するだけで、DataGridが変更されるようにすることです。問題は、「DataGrid.Columns」プロパティをバインドできないことです(私は思いません)。

このプロパティは使用できず、DataGridコントロール自体もViewModelレベルで使用できないため、現在のアプローチは、この特定の実装のMVVMパターンの外に出て、ViewのコードビハインドでMVVMLightのMessengerクラスを使用して特定のイベントをキャプチャすることです。この機能を実現するには、DataGridコントロールと直接通信してください。これは詳細のないこのアプローチの一般的なステートメントですが、もっと簡単な方法はありますか...またはそれほど簡単ではないかもしれませんが、MVVMパターンに少しよく準拠するより良い方法はありますか?

DataGridコントロールのColumnsプロパティをバインドできないことに夢中になっています...とても単純なことのようです。

参考までに-AutoGenerateColumns=Trueを使用することが提案される前は、DataGrid.ItemsSourceにバインドされているコレクション内の各アイテムにバインドされているクラスには、列にバインドされているものを識別するための個別のプロパティがありません...これは、特定のパスが外れるように列を完全に動的に保つための列。また、AutoGeneratingColumnsを処理し、e.Cancelを使用して列を表示/非表示にすることも、これと同じ理由で問題があります(私は思います)。

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

wpf - MVVM RelayCommand を介して ListBox から SelectedItems を削除する

WPF ListBox にアイテムのリストがあります。ユーザーがこれらのアイテムのいくつかを選択し、[削除] ボタンをクリックして、これらのアイテムをリストから削除できるようにしたいと考えています。

MVVM RelayCommand パターンを使用して、次のシグネチャを持つコマンドを作成しました。

私のビューでは、次のように RemoveTagsCommand を接続します。

私の ViewModel コンストラクターは、コマンドのインスタンスをセットアップします。

私の現在の RemoveTags の実装は、キャストとコピーでぎこちなく感じます。これを実装するより良い方法はありますか?

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

visual-studio-2008 - Visual Studio2008DesignerをMVVMLightV3SP1で使用することはできません

これを引き起こすために何をしたかを知っていればいいのですが、MVVMLightテンプレートでVisual Studio2008Designerを使用することはできません。どのxamlページにも「タイプ'ViewModelLocator'のインスタンスを作成できませんでした。アプリケーションは正常にビルドおよび実行されますが、デザイナーのみが壊れています。App.xamlには

まったく新しいMVVMLightアプリケーションを作成すると、エラーが発生することもあります。興味深いのは、VS2010のエクスプレスバージョンを使用すると、デザイナーで問題なく表示、編集、および作業できることです。VS2010に行きたいと思っている限り、今のところITにその動きを説得することはできません。

その他のシステム情報:Windows 7(x64)の教授、dpackおよびcoderushexpressプラグインもあります。

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

silverlight - ビューがViewModel CLRイベントをサブスクライブすることは可能ですか?

場合によっては、ビュー モデルが通知を発生させる必要がある場合があります。これは、ビューが応答して何かを処理し、実行する必要があります。これらをプロパティおよびプロパティ変更通知としてモデル化できない場合。

ビューがイベントをリッスンし、ビュー モデルの通知を宣言型 Xaml マークアップを介してユーザー インターフェイス アクションに変換できるようにする MVVM Light の機能はありますか?

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

silverlight - コンボボックスで選択した値をビューモデルにバインドします

ビュー モデルからデータグリッドにデータをプルする Silverlight アプリがあります。VM は Mef 経由で公開されます。コンボボックスを持つ詳細グリッドもあります。vm には、コンボボックスの値を入力するためのデータも含まれています。最初のロードでは、すべてが正常に機能し、コンボボックスで選択されたアイテムは正しく、代替値を選択できます。ただし、メインのデータ グリッドを並べ替えると (sort=true を許可)、コンボ ボックスで選択した値のバインドが消えます。コンボボックスにはまだデータが取り込まれていますが、何も選択されていません。

以前にこの問題に遭遇した人はいますか? これを解決する方法がわかりません。

ありがとう

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

silverlight - Silverlight MVVM conversion from WPF

I was reading this article - http://msdn.microsoft.com/en-us/magazine/dd419663.aspx

And I came across this piece of code in the WPF Demo application that came with the article.

This template applies a CustomerView to an instance of the CustomerViewModel class shown in the main window.

I substituted the angle brackets for square brackets - not sure how to post them.

The code is in the MainWindowResourses.xaml and the code starts on line 19.

Anyone know how I can do this in Silverlight ?? We don't have the DataType and I need to be able to tell the app that this View is associated with this ViewModel - so I can create a tab control with different view like the demo app.

Cheers,

EC