如何从视图模型中关闭 Catel 框架数据窗口

Posted

技术标签:

【中文标题】如何从视图模型中关闭 Catel 框架数据窗口【英文标题】:How to close Catel Framework Datawindow from the viewmodel 【发布时间】:2017-02-07 12:22:12 【问题描述】:

有谁知道如何从您的视图模型中关闭(或保存)数据窗口,而不是使用确定或取消按钮,而是使用这样的自定义按钮:

public class UploadWindow : DataWindow

    public UploadWindow()
        : base(DataWindowMode.Custom)
    
        AddCustomButton(new DataWindowButton("Ok", "???"));
        AddCustomButton(new DataWindowButton("Cancel", "???"));

        InitializeComponent();
    

所以我可以在关闭或保存之前做一些额外的事情,而不是正常的东西。感谢您的帮助!

【问题讨论】:

【参考方案1】:

虚拟机内部:

选项 1:

this.SaveAndCloseViewModelAsync();

选项 2:

this.CancelAndCloseViewModelAsync();

【讨论】:

谢谢,这似乎解决了我最大的问题!但是当我调用 this.SaveAndCloseViewModelAsync(); 时,没有保存对这个“dialogResult 对象”typeFactory.CreateInstanceWithParametersAndAutoCompletion<VisitorRegistrationClosingWindowViewModel>(dialogResult); 所做的任何更改 您使用的是 Show 还是 ShowDialog? DialogResult 仅在使用 ShowDialog 时设置。 我正在使用'await _uiVisualizerService.ShowDialogAsync(visitorRegistrationClosingWindowViewModel)' 知道为什么它不保存 dialogResult 属性吗? 不,它应该存储它。请在问题跟踪器中创建问题。

以上是关于如何从视图模型中关闭 Catel 框架数据窗口的主要内容,如果未能解决你的问题,请参考以下文章

如何从作为wpf mvvm模式中的窗口打开的视图模型中关闭用户控件?

如何从 ViewModel 命令生成的线程中关闭窗口? [复制]

首先在实体框架模型中关闭跟踪

Catel 延迟加载包含视图/视图模型的程序集

如何检测在 $modal 中关闭模式窗口?角度-ui

如何从 ParentViewController 中关闭 formSheet 模态?