Vid maximering och återställning av fönstret så verkar inte Silverlight registrera och hantera SizeChanged händelsen ordentligt. En workaround kan då vara att använda LayoutUpdated händelsen på detta sätt:
private void LayoutRoot_Loaded(object sender, RoutedEventArgs e)
{
this.LayoutUpdated += new EventHandler(MainPage_LayoutUpdated);
}
private void MainPage_LayoutUpdated(object sender, EventArgs e)
{
if (myObj != null)
{
Dispatcher.BeginInvoke(() =>
{
myObj.SizeChanged(new Size(Application.Current.Host.Content.ActualWidth, Application.Current.Host.Content.ActualHeight));
});
}
}
Man måste använda den asynkrona metoden Dispatcher.BeginInvoke() annars får man lite felmeddelanden!