在后置代码.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 SourceSource, and ImageSource. For information on the practical derived class that is used for Silverlight 4 image sources, see BitmapImage.”当我看到BitmapImage的时候我眼前一亮,难道可以用它来初始化ImageSource?试试吧。然后,你懂的,成功了,非常开心。

下面是一个小示例:

         如想设置一个Grid的背景图片,可以这么写:

grid.Background = new ImageBrush { ImageSource = new BitmapImage(new Uri("/Images/test.jpg", UriKind.Relative)) };

posted on 2011-04-25 22:30 小黑黑 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/CHN-William/archive/2011/04/25/2028759.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值