¿Existe form.onload en WPF?

Me gustaría ejecutar algún código onload de un formulario en WPF. ¿Es posible hacer esto? No puedo encontrar dónde escribir el código para cargar formularios.

A juzgar por las respuestas a continuación, parece que lo que estoy preguntando no es algo que se hace normalmente en WPF. En las formas de ganancias de Vb.Net es fácil, solo tiene que ir al evento onload y agregar el código que necesita ejecutar en la carga. Por la razón que sea, en C # WPF parece muy difícil o no hay una forma estándar de hacerlo. ¿Puede alguien decirme cuál es la mejor manera de hacer esto?

Puede suscribirse al evento Loaded de Windows y hacer su trabajo en el controlador de eventos:

public MyWindow() { Loaded += MyWindow_Loaded; } private void MyWindow_Loaded(object sender, RoutedEventArgs e) { // do work here } 

Alternativamente, dependiendo de su situación, puede realizar su trabajo en OnInitialized en su lugar. Vea la documentación de eventos cargados para una discusión de la diferencia entre los dos.

Utilice el evento Loaded de la ventana. Puedes configurarlo en el XAML como abajo:

  

Aquí es cómo se vería el evento Window_Loaded:

 private void Window_Loaded(object sender, RoutedEventArgs e) { // do stuff } 

Loaded evento Loaded se genera después de que se construye el proyecto. Para hacer cosas antes, puede OnStartup método App.xaml.cs en App.xaml.cs

 public partial class App : Application { protected override void OnStartup(StartupEventArgs e) { //... base.OnStartup(e); } } 

Esta pregunta se hizo hace 4 años, pero esta respuesta puede ayudar a otros también, así que aquí va -> Para hacerlo de manera simple y rápida – abajo y sucio, ponga el código que desea ejecutar en un método en el código subyacente. luego simplemente llame al método antes de MainWindow() InitializeComponent() . Esto plantea peligros, pero la mayoría de las veces funciona porque los componentes se cargan antes del inicio / visualización de la ventana. (Este es el código de trabajo de uno de mis proyectos). Supongamos que desea reproducir un archivo de onda corta cuando se inicia la aplicación. Se vería así;

 using ... using System.Windows.Media; namespace yourNamespace_Name { /// sumry > /// Interaction logic for MainWindow.xaml /// /sumry> public partial class MainWindow : System.Windows.Window { public MainWindow() { /*call your pre-written method w/ all the code you wish to * run on project load. It is wise to set the method access * modifier to 'private' so as to minimize security risks.*/ playTada(); InitializeComponent(); } private void playTada() { var player = new System.Media.SoundPlayer(); player.Stream = Properties.Resources.tada; // add the waveFile to resources, the easiest way is to copy the file to // the desktop, resize the IDE window so the file is visible, right // click the Project in the solution explorer & select properties, click // the resources tab, & drag and drop the wave file into the resources // window. Then just reference it in the method. // for example: "player.Stream = Properties.Resources.tada;" player.Play(); //add garbage collection before initialization of main window GC.Collect(); GC.WaitForPendingFinalizers(); } } } 

Espero que esto ayude a los que están buscando. 🙂