代码后置,在后置代码.cs文件中设置Grid的背景

今天遇到一个问题,需要用.cs代码设置Grid的背景,上网一搜,都是讲怎么用XAML设置的,没意思。没办法了,只好自己查MSDN文档解决了……结果官方的文档上貌似也没有提到怎么用后置代码设置Grid的背景,郁闷了,只好慢慢摸索了。因为之前看到有说XAML代码本质上还是转为.cs文件来执行的,心里一喜,赶紧找来对应的.g.i.cs和.g.cs文件(在obj/Debug文件夹下),结果还是让我失望了,没有发现什么有价值的信息。怎么办呢?慢慢的顺藤摸瓜吧,Panel的Background属性是Brush类型的,而Brush是抽象类型的,显然得用它的子类来初始化一个Brush对象了,因为我想设置Grid的背景为一个图片,所以我找到了Brush的ImageBrush子类,而创建一个ImageBrush类对象的以后,需要设置它的ImageSource属性,它是ImageSource类型的。再一查ImageSource又是一个抽象类,而且是继承于DependencyObject的。到这里有点没主意了……没办法了,再次求助于MSDN。一个F1按下以后,我来到了ImageSource的帮助文档(http://msdn.microsoft.com/en-us/library/ms619185(v=VS.95).aspx),仔细研读后,终于发现了一些线索!“This is an abstract type that is used in the signatures for Source, Source, and ImageSource. For information _disibledevent=>BitmapImage.”当我看到BitmapImage的时候我眼前一亮,难道可以用它来初始化ImageSource?试试吧。然后,你懂的,成功了,非常开心。
下面是一个小示例:
如想设置一个Grid的背景图片,可以这么写:
grid.Background = new ImageBrush { ImageSource = new BitmapImage(new Uri("/Images/test.jpg", UriKind.Relative)) };
Tags:  背景音乐代码 qq秀背景代码 空间背景代码 qq空间背景代码 代码后置

延伸阅读

最新评论

发表评论