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的要求。有什么我失踪?