在我的主要Winform程序中,我有一个按钮,我可以在新窗口中打开我的WPF dll。我通过一个consructor将我的值加载到WPF窗口。问题在于恢复它。
我使用buttonClick on winform上的代码初始化WPF窗口:
var wpfwindow = new MyWpfProgram.MainWindow(MyString);
ElementHost.EnableModelessKeyboardInterop(wpfwindow);
wpfwindow.Show();
在我的WPF程序中,我有Save按钮,它应该以某种方式将值传回。我怎样才能做到这一点?
答案 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
}