2

Window[OK]/[キャンセル] をクリックした後、子を閉じます。

親 mvm モデルから子ウィンドウを呼び出しています。

//parent view model
var optionSetViewModel = new OptionSetViewModel();
var optionSet = new OptionSet();
optionSet.SetViewModel(optionSetViewModel);

optionSet.SetOwner(_componentview);
optionSet.ShowDialog();

子の OK とキャンセルのコードWindowは、子ビュー モデルで記述されます。

private void OkClick()
{           
    _childWindow.Close();
}

正常に閉じますが、呼び出された場所から親ビュー モデルに戻るときに閉じた後、null 参照例外がスローされます。閉じた後、子ウィンドウの値にアクセスしています:

_someText = optionSetViewModel.SomeText;
_noteText = optionSetViewModel.NoteText;
_optionsetLanguage = optionSetViewModel.OptionSetSelectedItem;
_optionsetselected = optionSetViewModel.OptionSetSelected.ToString();
4

1 に答える 1

1

Catel ( http://www.catelproject.com/を参照) を使用すると、ビュー モデルに基づいてビューを閉じることができます。したがって、ビューを閉じるとは、次のような呼び出しを意味します。

myChildViewModel.CloseViewModel();

子ウィンドウを表示するには:

var myChildViewModel = new MyChildViewModel();
uiVisualizerService.Show(myChildViewModel);
于 2013-07-30T06:47:42.377 に答える