WPF MVVM在退出用户控件之前请求保存(不在退出应用程序之前)

时间:2015-08-05 21:00:19

标签: c# wpf xaml mvvm devexpress

我正在使用MVVM编写C#WPF应用程序。

在这个应用程序中,我有一个用户控件,它显示项目,用户可以修改,删除或添加项目。当用户保存任何修改后,调用save()方法来保存工作。

现在我想在退出当前用户控件之前显示要求保存的消息。 虽然我在窗口 MainView.xaml中使用了下面描述的相同方法,但当我想通过单击(X)按钮退出APPLICATION时,它可以请求确认。

MyView.xaml

     <UserControl
        ...
        xmlns:dxmvvm="http://schemas.devexpress.com/winfx/2008/xaml/mvvm"
     ...>
            <dxmvvm:Interaction.Triggers>
                    <dxmvvm:EventToCommand Command="{Binding LoadCommand}" EventName="Loaded" />
                    <dxmvvm:EventToCommand Command="{Binding ExitCommand}" EventName="Closing"  PassEventArgsToCommand="True"/>
                </dxmvvm:Interaction.Triggers>
    <Grid>
     ...
    </Grid>

    </UserControl>

MyViewModel.cs

[Command]
        public void Exit(CancelEventArgs e)
        {
            if (_editable)
            {
                switch (MessageBoxService.Show("Messages.QuitRequest", "Messages.Quit", MessageBoxButton.YesNoCancel, MessageBoxImage.Question))
                {
                    case MessageBoxResult.Yes:
                        WithSave();
                        break;

                    case MessageBoxResult.No:
                        WithoutSave();
                        break;

                    case MessageBoxResult.Cancel:
                        e.Cancel = true;
                            break;
                }
            }
        }

MyView.xaml.cs

public partial class XsltEditorView : UserControl
    {
        public XsltEditorView()
        {
            InitializeComponent();

        }
    }

有任何想法让我知道为什么退出命令没有按预期被解雇? 提前谢谢。

0 个答案:

没有答案