将值从 wpf 窗体传递到 winform



在我的主Winform程序中,我有一个按钮,我可以用它在新窗口中打开我的WPF dll。我通过构造器将我的值加载到 WPF 窗口。问题是把它找回来。

我在按钮上使用此代码初始化 WPF 窗口单击winform:

var wpfwindow = new MyWpfProgram.MainWindow(MyString);
ElementHost.EnableModelessKeyboardInterop(wpfwindow);
wpfwindow.Show();

在我的WPF程序中,我有"保存"按钮,它应该以某种方式将值传回。我怎样才能做到这一点?

MainWindow中,您可以创建一个事件

public event EventHandler<SaveEventArgs> Save;

SaveEventArgs一样

public class SaveEventArgs : EventArgs
{
public MySaveData Whatever { get; set; }
}

现在 - 创建 WPF 窗口时 - 可以订阅此事件并适当地处理它

var wpfwindow = new MyWpfProgram.MainWindow(MyString);
wpfwindow.Save += WpfWindow_OnSave;
ElementHost.EnableModelessKeyboardInterop(wpfwindow);
wpfwindow.Show();
[...]
private void WpfWindow_ONSave(object sender, SaveEventArgs eventArgs)
{
// do whatever you need
}

最新更新