0

我在一个解决方案中有两个独立的项目,一个是 wpf,另一个是 windows 窗体,我已将 winform 引用到 wpf 项目。wpf 窗口内是一个图像控件,单击时会出现一个带有按钮的 windows 窗体.

单击winform中的按钮时,我如何能够更改wpf表单中图像控件的图像源...

我看到了一个类似的问题,但我无法理解答案......

4

1 回答 1

1

您可以将委托/操作传递到 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
    }
}

窗体

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();
        }
    }
}
于 2013-05-03T10:13:10.717 回答