我在Silverlight中有一個子窗口,我希望發送一個字符串值來填充應用程序MainPage.xaml中的文本框。將值從子窗口傳遞迴MainPage
我該如何傳回數值?
我曾經嘗試這樣做 -
MainPage m = (MainPage)Application.Current.RootVisual;
m.textBox1.Text = value;
我在Silverlight中有一個子窗口,我希望發送一個字符串值來填充應用程序MainPage.xaml中的文本框。將值從子窗口傳遞迴MainPage
我該如何傳回數值?
我曾經嘗試這樣做 -
MainPage m = (MainPage)Application.Current.RootVisual;
m.textBox1.Text = value;
你應該以相反的方式做到這一點。打開的子窗口家長應重視的事件處理程序,以孩子的事件,例如:
childwindow.ButtonClicked += new EventHandler(childWindow_ButtonClicked);
在此處理程序,家長可以從孩子的窗口屬性的值更新了自己的控制。
private void childWindow_ButtonClicked(object sender, EventArgs e)
{
txtValue.Text = childwindow.Value;
}
假設你正在使用的MVVM模式,你可以使用子窗口的ShowDialog方法來打開它。 ShowDialog方法等待直到窗口關閉。
窗口關閉後,您可以從窗口viewmodel中讀取依賴屬性並在主頁面中設置它們的值。
var view = new ChildWindowView();
var model = new ChildWindowViewModel();
view.DataContext = model;
var result = view.ShowDialog();
繁榮。非常感謝的點。 – Ebikeneser