WPFアプリでMVVMLightからのメッセージングを使用してChildWindowを表示し、そこからいくつかの値を返すにはどうすればよいですか?私が必要としているのは、2つの日付ピッカーを備えたモーダルダイアログと、他のビューへのパラメーターとして使用するためのこれら2つの値を何らかの方法で返すメッセージをユーザーに提示することです。出来ますか ?
1102 次
1 に答える
0
通常、私はPopupこのようなものに a を使用します。
Popup通常、 は のプロパティのようなものにバインドさVisibilityれており、Popupは通常、ViewModel の一部でもあります。IsPopupVisibleViewModelDataContext
私は WPF の既定のコントロールの大ファンではないので、興味がある場合は、ここPopupに独自のカスタム ポップアップ コントロールがあります。
通常、次のように使用されます。
<local:PopupPanel Content="{Binding PopupContent}"
local:PopupPanel.PopupParent="{Binding ElementName=ParentPanel}"
local:PopupPanel.IsPopupVisible="{Binding IsPopupVisible}" />
そして、私はそれを次のViewModelように示します:
PopupContent = new SelectDatesViewModel();
IsPopupVisible = true;
がトリガーされるSelectDatesViewModel.SaveCommandと、選択した日付を含むメッセージを関心のある ViewModel に送信できます。
Messenger.Default.Send(new DatesChangedMessage(this.Date1, this.Date2))
実際のポップアップ コンテンツは、XAML で定義するか、暗黙的なDataTemplate
<DataTemplate DataType="{x:Type local:SelectDatesViewModel}">
<local:SelectDatesView />
</DataTemplate>
于 2012-06-05T13:29:22.530 に答える