2013-05-03 56 views
0

我有一個解決方案中的兩個單獨的項目,一個是wpf另一個是windows窗體,我已經引用了wpf項目的winform ..在wpf窗口內部是一個圖像控件,當點擊時,一個帶有按鈕的窗體會出現。如何從一個子窗體中更改父窗體中的控件的佈局?

我如何能夠在WinForm裏面的按鈕被點擊時改變WPF表格內的圖像控制的圖像源...

我已經看到了similar question to this,但我無法理解的答案.. 。

回答

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 
    } 
} 

的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(); 
     } 
    } 
} 
相關問題