将值从wpf传递到winform

时间:2017-07-27 14:25:07

标签: c# .net wpf winforms

在我的主要Winform程序中,我有一个按钮,我可以在新窗口中打开我的WPF dll。我通过一个consructor将我的值加载到WPF窗口。问题在于恢复它。

我使用buttonClick on winform上的代码初始化WPF窗口:

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

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

1 个答案:

答案 0 :(得分:0)

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
}