3

C# WPF MVVM アプリケーションに次のコードがあります。

public RelayCommand PolishCommand
    {
        get
        {
            polishcommand = new RelayCommand(e =>
            {

                PolishedWeightCalculatorViewModel model = new PolishedWeightCalculatorViewModel(outcomeIndex, OutcomeSelectedItem.RoughCarats);
                PolishedWeightCalculatorView polish = new PolishedWeightCalculatorView(model);
                bool? result = polish.ShowDialog();
                if (result.HasValue)
                {

しかし、ビューモデルからウィンドウを呼び出すことは、MVVMパターンでは間違っていることを知りました。

下記リンク先にも記載。

MV-VM の設計に関する質問。ViewModel から View を呼び出す

代替ソリューションを提供して、誰かを助けてください。

前もって感謝します。

4

3 に答える 3

0

以前、非常によく似た質問に答えました。この質問では、MVVM パターンが促進する懸念の分離を維持しながら、ビュー モデルから新しいウィンドウを開く方法を詳しく説明しています。これがお役に立てば幸いです: MVVM で新しいウィンドウを開く

于 2013-08-13T09:00:57.530 に答える
-2

あなたはルールを破ることが許されています。MVVM に完全に従う必要はありません。私は常にコマンドを使用して新しいビューを作成しています。ボタンをクリックしたときのイベントを作成することもできます (アマゴッシュ、今言った!?)。つまり、これは私の意見であり、あなたが興味を持っているスタイルプログラミングに依存すると思います。

于 2013-08-13T08:40:05.143 に答える