問題タブ [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 投票する
1 に答える
2153 参照

.net - mvvm-light ツールキットが Window Loaded イベントを発生させない

ウィンドウがあり、MVVM ライト ツールキットを使用して Loaded イベントにバインドします。

私のビューモデルには、次のものがあります。

しかし、表示されているウィンドウでは、Loaded プロパティにブレークポイントを設定すると ICommand 変数が初期化されていますが、例外はスローされません。Initialized イベントを使用するように変更しようとしましたが、それでも同じです。これは、同じアプリにある別のウィンドウで正常に機能するため、すべてを正しく行っているとほぼ確信しています。何か不足している可能性がありますか? コード ビハインドでバインドすると正常に動作しますが、mvvm パターンに準拠したいと考えています。前もって感謝します。

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

silverlight - Mvvm Silverlight、SilverLight DataGrid 内のプログラムによるスタイル行へのバインディングを使用

プログラムで/動的にスタイルを適用できるように、Silverlight DataGrid の行を ViewModel のある種のスタイル プロパティにバインドすることは可能ですか?

私は Mvvm-Light ツールキットを使用して、mvvm Silverlight アプリを作成することに成功しています。これは、私が遭遇した最初の主要な障害です。

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

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

wpf - mvvm light wpfを使用してアイテムのリストに対して動的チェックボックスを作成しますか?

次のシナリオがあります。

データベースから特定のユーザーごとにアクティビティのリストを表示している MainWindow という 1 つのウィンドウがあります。ウィンドウには 1 つのボタンがあります。そのボタンをクリックすると、新しいウィンドウが開き、マスター テーブルのアクティビティのすべてのリストが表示されます。ユーザーがアクティビティを選択/選択解除できるように、各項目に対して2番目のウィンドウにチェックボックスを動的に追加します。これらの選択/選択解除された値はデータベースに保存され、完了ボタンをクリックした後に親/メインウィンドウが更新され、変更が MianWindow に反映されます。しかし、各リスト項目に対してチェックボックスを動的に作成し、xaml にバインドしてチェックボックスを選択/選択解除する方法がわかりません。

親切にサンプルまたは例を提案してください。

ありがとう

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

wpf - ツールバーを別のビューに挿入する

新しいプロジェクトに mvvm を使用しています。ビューモデル間でメッセージを送信するためのメッセージ ディスパッチャがありますが、あるケースではビューでメッセージを受信する必要があります。このビューには、詳細ビューに関連するツールバーを含む必要があるツールバー パネルが含まれています (たとえば、顧客の編集には、保存、元に戻す、やり直し、キャンセルを含むツールバーが必要です)。

問題は、これを書くことができるようにするには、ビュー内のメッセージを購読する必要があることです:

しかし... 1) messageBroker の DI を取得するために、コンテナー (XAML ではない!) からビューを取得する必要があります。2) static IoC.Container.Resolve(); を呼び出します。コンストラクター内

オプション 2 は、コンテナーがデザイン モードで構成されていないため、VS2010 デザイナーを壊しました...

何か案が?ビューはビューモデルからは見えません。静的な ViewModelLocator を使用します。

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

mvvm-light - 既存の非 MVVM Light Toolkit プロジェクトで MVVM Light Toolkit を使用する方法

作業中のアプリケーションに Surface プロジェクト テンプレートを使用する必要がありますが、MVVM Light Toolkit も使用したいと考えています。「追加 | 新しい項目...」を選択して、ビュー、ビュー モデル、またはロケーターの MVVM チームプレートを選択できることがわかりましたが、これらのいずれかを追加する以外に、これを接続するために必要なことがいくつかあるようです。 mvvm アセンブリへの参照を追加したことを確認します。

私はMVVM Lightプロジェクトを作成するときに何が生成されるかを研究することでこれを理解しようとしているところですが、誰かがすでにこれをすべて理解して文書化していることを望んでいました. Laurent がこれをブログ記事に書くつもりだと言っていたことは知っていますが、探しても見つかりませんでした。誰かがその投稿を見つけることができる場所を知っていれば、それは致命的です. 前もって感謝します。

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

.net - RaisePropertyChanged(文字列 propertyName、T oldValue、T newValue、bool ブロードキャスト)

私はそれを機能させようとしてRaisePropertyChanged<T>(string propertyName, T oldValue, T newValue, bool broadcast)いましたが、機能させることができませんでした。

私は実際のシナリオでは実装していませんが、それを学習するためだけに実装しています。通常の方法でブロードキャストを上げると、機能します Messenger.Default.Send<PropertyUpdateeMessage>(new PropertyUpdateeMessage("test"));

だから私は何を使うのに欠けているのだろうと思っています RaisePropertyChanged<T>(string propertyName, T oldValue, T newValue, bool broadcast)

前もって感謝します。

よろしくラキ

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

wpf - リストボックス mvvm から選択されたチェックボックス項目を取得する

データベースから事前に選択されたチェックボックスを動的に表示するリストボックスがあります。今、私はそれをループして、選択した項目/値を取得したいと考えています。mvvm light wpf を使用しています。

親切に提案しますか?

ありがとう

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

.net - INotifyPropertyChanged とバインディングの更新に関する混乱

私が(考えて)理解していることは、ModelView内にINotifyPropertyChangedを実装すると、プロパティが変更された場合にPropertyChangedイベントを発生させることができるということです。

そうすれば、基になるプロパティが変更されたことがビューに通知されるため、UI は新しい変更を取得する必要があります。

私は理論を正しく理解しましたか?

私が直面している問題は、ViewModel にバインドされた Infragistics DataGrid があることです。日付値を変更するとすぐに、ViewModel のプロパティが正しく設定され、イベントが発生する様子を確認できます。しかし、私はこのイベントを外部からサブスクライブしていませんが、UI はどのように通知を受けますか?

UIはまったく知られていないと思うので、私はこれを求めています。ViewModel を同じ基になる Model プロパティにバインドする 2 番目のテキスト ボックスを配置しました。ただし、DataGrid でそのプロパティを変更すると、TextBox (Mode=OneWay) は自動的に更新されません。

私は実際にMVVM-Light Frameの作業を利用し、INotifyPropertyChangedの代わりにViewModelBaseを使用し、RaisePropertyChanged(...)を実行します。しかし、結果は似ているはずです。

TextBox をその Event に手動でサブスクライブする必要がありますか?

編集: 問題は解決しましたが、なぜこれが起こっているのか正確にはわかりません。質問に答える前に、アーキテクチャについてもう少し説明する必要があります。Datgrid は、ViewModelB を返す ViewModelA の propertyA にバインドされ、ObservableCollection<ViewModelB>. 実際には Grid が表示するすべてのプロパティが含まれています。これらのプロパティはすべて OnProperyChanged の Setter で自然に発生します。

TextBox は、ViewModelA 内にも存在する PropertyB にバインドされました。ただし、直接文字列を返すため、PerpertyB の基になるゲッターは次のように返します。

ただし、TextBox をこの propertyB にバインドせずに、PropertyA にもバインドすると、次のように機能します。

それは奇妙だ。私はそれが同じように機能することを期待していました。両方のプロパティが同じ ViewModel に存在し、同じ にアクセスしますprivate ObservableCollection<ViewModelB>。なぜそれが問題になるのでしょうか?

ケーブ

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

silverlight-4.0 - mvvm-light と Silverlight 4 の互換性

mvvm ライト ツールキット ソース 4157 をダウンロードし、EventToCommand.SL サンプルを使用しようとしました。Silverlight 3 フレームワークを使用すると、Visual Studio 2010 で問題なく動作します。

しかし、silverlight 4 バージョン (EventToCommand.SL プロジェクト プロパティ) を選択すると、何も表示されません。Command プロパティに関連付けられた ViewModel メソッドは実行されません。EventToCommmand クラスの Command プロパティのセッターに達していません!

見逃したものはありますか?または回避策はありますか?

ありがとう

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

silverlight - MVVM Lightを使用してバインドした後、選択したアイテムをリストボックスに設定するには?

Windows Phone アプリで MVVM Light を使用しています。選択したアイテムをデータバインド後にリストボックスに設定したいと思います。

これを行う最善の方法は、Loaded イベントのリストボックスに eventToCommand を設定し、要素を渡して選択したインデックスを設定することだと思いましたが、リストボックス要素を RelayCommand に渡す方法がわかりません。