2009-08-26 6 views
0

J'essaye d'initialiser mes contrôles dans Silverlight. Je cherche quelque chose de similaire à l'événement Form_Load, qui est déclenché lorsque le formulaire est chargé la première fois. L'événement Loaded dans Silverlight est appelé assez tôt, avant même que le contrôle s'affiche dans l'interface utilisateur. Je veux initialiser avant le rendu de l'interface utilisateur du contrôle la première fois. Quels choix ai-je? Voici mon code de référence. C'est assez basique.Charger l'événement pour la grille

Appréciez votre réponse!

1 <local:ControlBase x:Class="MyUserControl" 
2  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
3  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
4  xmlns:local="clr-namespace:GridTest.UI.Framework;assembly=GridTest.UI.Framework" 
5  xmlns:ImageViewer="clr-namespace:GridTest.ImageViewer" 
6  FontFamily="./Fonts/CALIBRI.TTF#Calibri" FontSize="13"> 
7  <Grid x:Name="LayoutRoot" Background="White" Loaded="MyUserControl_Loaded" > 
8   <ImageViewer:ImagePreview HorizontalAlignment="Stretch" VerticalAlignment="Stretch" x:Name="ucImagePreview"/> 
9 </local:ControlBase> 
10 
+0

Pouvez-vous expliquer pourquoi l'événement Loaded ne convient pas pour vous? – KeithMahoney

Répondre

1

Pour ce scénario, je tends à câbler les UserControls propriété loaded dans le constructeur UserControl et n'ont pas rencontré de problèmes avec cela.

Donc, dans mon code de contrôle derrière j'ai:

public Control() 
     { 
      InitializeComponent(); 
      this.Loaded += new RoutedEventHandler(Control_Loaded); 
     } 

void Control_Loaded(object sender, RoutedEventArgs re) 
     { 
//Do any init here 
} 

HTH

Questions connexes