1

MVVMパターンを使用して、ダイアログウィンドウを表示し、それらを開閉し、それらからデータを取得するための標準的な方法はありますか?

私はこれを見ました: http://www.daedtech.com/mvvm-and-dialogs

特別な(View/ViewModel)のダイアログを表示するために使用したい。

MVVMで複数のウィンドウとダイアログを処理するには?

4

2 に答える 2

0

mvvmでダイアログを操作するときに私がすること:)

var result = this.uiDialogService.ShowDialog("Dialogwindow title goes here", dialogwindowVM);
于 2013-03-17T14:42:38.397 に答える
0

私が今までに見たこのケースの最善の解決策は、PRISM の Interaction Request (「対話要求オブジェクトの使用」のタイトルを参照) です。これは、ダイアログを開くための最も MVVM に適した抽象化です。インタラクション リクエストはビュー モデルであり、コントロールやビュー要素から分離されており、特定のビューにバインドできます。

サンプル。モデルを見る:

public IInteractionRequest ConfirmCancelInteractionRequest
{
    get
    {
        return this.confirmCancelInteractionRequest;
    }
}

this.confirmCancelInteractionRequest.Raise(
    new Confirmation("Are you sure you wish to cancel?"),
    confirmation =>
    {
        if (confirmation.Confirmed)
        {
            this.NavigateToQuestionnaireList();
        }
    });

意見:

<i:Interaction.Triggers>
    <prism:InteractionRequestTrigger 
            SourceObject="{Binding ConfirmCancelInteractionRequest}">

        <prism:PopupChildWindowAction
                  ContentTemplate="{StaticResource ConfirmWindowTemplate}"/>

    </prism:InteractionRequestTrigger>
</i:Interaction.Triggers>

<UserControl.Resources>
    <DataTemplate x:Key="ConfirmWindowTemplate">
        <Grid MinWidth="250" MinHeight="100">
            <TextBlock TextWrapping="Wrap" Grid.Row="0" Text="{Binding}"/>
        </Grid>
    </DataTemplate>
</UserControl.Resources>

Wpf PRISMはこちら

于 2013-03-17T14:58:02.293 に答える