2017-07-27 68 views
0

在我的主要Winform程序中,我有一个按钮,可以在新窗口中打开我的WPF dll。我通过一个consuctor将我的值加载到WPF窗口。问题在于恢复。将wpf表单传递给winform

我初始化WPF窗口与此代码对buttonClick上的winform:

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

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

回答

1

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 
}