如何退出wpf应用程序

时间:2012-08-22 09:35:42

标签: wpf events

我有一个WPF项目,它是解决方案的一部分,它是“ProjectFilesSelector”。一个名为A.的项目,如下图所示调用ProjectFilesSelector:

!!!更新:

namespace ProjectFilesSelector
{
   ...
   public class ViewModel 
   {
        ...
        public ICommand cancel
        {
            get
            {
                return new WPFExtensions.RelayCommand(_ =>
                    {
                        this.window.Visibility = Visibility.Hidden;
                        this.window.Close();
}); } }
}

public partial class Window1 : Window, IDisposable { public Window1(ProjectTypes.Project pro) { InitializeComponent();

        var context = new ViewModel(this, new ATChecker.ViewModel.ProjectModel(pro));
        this.DataContext = context;
    }

... }

}

namespace ATCheckerView { public class ViewerClientExt : INotifyPropertyChanged { ...

public ICommand CheckPrinciplies { get { var cmnd = new RelayCommand(project => { var proj = (ViewModel.ProjectModel)project; ProjectFilesSelector.ViewModel dc; using (var a = new ProjectFilesSelector.Window1(proj.project)) { a.ShowDialog(); // cancel command was called dc = (ProjectFilesSelector.ViewModel)a.DataContext; } .... // some code // and I can still see the window of Window1. Why? });
var context = new ViewModel(this, new ATChecker.ViewModel.ProjectModel(pro)); this.DataContext = context; }

public ICommand CheckPrinciplies { get { var cmnd = new RelayCommand(project => { var proj = (ViewModel.ProjectModel)project; ProjectFilesSelector.ViewModel dc; using (var a = new ProjectFilesSelector.Window1(proj.project)) { a.ShowDialog(); // cancel command was called dc = (ProjectFilesSelector.ViewModel)a.DataContext; } .... // some code // and I can still see the window of Window1. Why? });

1 个答案:

答案 0 :(得分:1)

我认为您不想退出该应用程序。您可能只想关闭窗口。 取消按钮只是将IsCancel设置为true。对于ok按钮,最好的方法是在viewmodel中创建一个事件以启动视图。