我在解决方案中有两个独立的项目,一个是wpf,另一个是windows窗体,我已经将winform引用到wpf项目。在wpf窗口内部是一个图像控件,当点击时,一个带有一个窗体按钮会出现。
如果点击winform中的按钮,我怎么能够在wpf表单内更改图像控件的图像源...
我见过similar question to this ,但我无法理解答案......
答案 0 :(得分:1)
您可以将委托/ Action传递给Winform以执行操作
这是一个非常快速的例子
<强> WPF 强>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Button_Click_1(object sender, RoutedEventArgs e)
{
// pass in the method you want to call when the winform button is clicked
var winform = new Form1(() => ChangeImage()).ShowDialog();
}
private void ChangeImage()
{
// your change image logic
}
}
<强>的Winforms 强>
public partial class Form1 : Form
{
private Action _action;
public Form1()
{
InitializeComponent();
}
public Form1(Action action)
{
_action = action;
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if (_action != null)
{
// call the method in the WPF form
_action.Invoke();
}
}
}