2
我有一個Silverlight應用程序,我沒有使用XAML。我在Application_Startup中有以下代碼的基本應用程序:沒有XAML的Silverlight - 圖像不會渲染
private void Application_Startup(object sender, StartupEventArgs e)
{
Grid g = new Grid();
g.Children.Add(new Image { Source = new System.Windows.Media.Imaging.BitmapImage(new Uri("http://sstatic.net/so/img/sprites.png", UriKind.Absolute)) });
this.RootVisual = g;
}
此代碼不會渲染指定的圖像。但是,如果App.xaml文件被修改,在XAML來定義RootVisual以下工作:
XAML:
<Application.RootVisual>
<Grid>
</Grid>
</Application.RootVisual>
代碼:
private void Application_Startup(object sender, StartupEventArgs e)
{
((Grid)this.RootVisual).Children.Add(new Image { Source = new System.Windows.Media.Imaging.BitmapImage(new Uri("http://sstatic.net/so/img/sprites.png", UriKind.Absolute)) });
}
我不明白爲什麼一個會工作,其他不會。我也有使用UserControl的相同行爲(當然使用Content而不是Childern)。
據我所知,應該沒有XAML的要求。有什麼我失蹤?