2010-02-25 5 views
2

У меня есть окно A и окно B. В окне A я вызываю B.show(). Я хочу знать в окне B, какой метод вызывается, и я хочу загрузить данные, когда B появляется. спасибо,C# WPF, какой метод вызывается, когда я вызываю шоу окна()?

+0

Что значит «в окне B, какой метод называется?»? –

ответ

4

Вы можете быть удивлены, но при вызове B.Show(), метод, который называется есть Show().

О загрузке дополнительных данных после отображения окна B, вы можете подписаться на его сообщение Loaded (см. Ответ @masenkablast). Лучшая идея, возможно, была бы связана с классом Window и привязкой к необходимым данным в XAML. (Вы используете WPF, а не WinForms, я полагаю.)

+0

+1 Я все время из класса Window делаю классные вещи –

0

Я думаю, что лучше иметь свойство, которое установлено до вызова B.Show(). Таким образом, вы всегда можете получить метод, который вызывает метод show, основанный на свойстве.

5

Вы всегда можете слушать «Loaded» событие:

BWindow.Loaded += new RoutedEventHandler(BWindow_Loaded);   

void BWindow_Loaded(object sender, RoutedEventArgs e) 
{ 
    //Your Code here 
} 

Затем в AWindow вызова

BWindow.Show(); 
+1

Ваш метод называется MainWindow_Loaded, но добавляемое событие называется BWindow_Loaded. Разве они не имеют одно и то же имя? –

+0

Да, скорее всего, печатал слишком быстро. –

Смежные вопросы