gpt4 book ai didi

c# - 如何从 WPF 用户控件中关闭承载 WPF 用户控件的窗口窗体

转载 作者:太空狗 更新时间:2023-10-30 00:06:19 25 4
gpt4 key购买 nike

我想关闭承载 WPF 用户控件的窗口窗体。在窗口应用程序中关闭当前窗体时使用的是这样的东西。但是对于 WPF 应用程序,我无法获得对用户控件父级的引用

如何获取托管此控件的表单以便我可以关闭我的表单

这个.关闭()

最佳答案

添加到您的 WpfControl 属性

public Form FormsWindow { get; set; }

在您的 WinForm 中为 ElementHost 的事件 ChildChanged 添加事件处理程序:

using System.Windows.Forms.Integration; 

public MyForm() {
InitializeComponent();
elementHost.ChildChanged += ElementHost_ChildChanged;
}
void ElementHost_ChildChanged(object sender, ChildChangedEventArgs e) {
var ctr = (elementHost.Child as UserControl1);
if (ctr != null)
ctr.FormsWindow = this;
}

之后,您可以使用 WpfControl 的 FormsWindow 属性来操作窗口。示例:

this.FormsWindow.Close();

关于c# - 如何从 WPF 用户控件中关闭承载 WPF 用户控件的窗口窗体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4348408/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com