我对xaml的第一印象就是这东西和aspx好像,都是页面文件+后台cs代码构成。关于基础我也不多说,可以通过blend去尝试一个个控件,找到对应的属性来学习,这里只讲一些开发过程中遇到的问题。
遇到的第一个问题就是后台如何设置背景图片的问题
前台绑定背景图片很简单,只需要给一个相对Uri即可,但是这在后台却行不通,这样的代码会报“给定的 System.Uri 无法转换为 Windows.Foundation.Uri”的错
new Uri(imgUri,UriKind.Relative);
后来在一篇文章中得知,如果需要在cs页对Image控件的Source进行赋值时,需要赋给其绝对路径,所以正确的写法应该是
<pre name="code" class="csharp">string imgUri = "/Resources/Image/sun.jpg";
CityWeatherGrid.Background =
<span style="white-space:pre"> </span>new ImageBrush { ImageSource = new BitmapImage(new Uri(this.BaseUri,imgUri) )};
<span style="white-space:pre"> </span>或者new Uri(<span style="font-family: Arial, Helvetica, sans-serif;">"ms-appx://"+imgUri,UriKind.RelativeOrAbsolute</span><span style="font-family: Arial, Helvetica, sans-serif;">)</span>
总之就是把相对uri转成绝对uri,后台代码才能找到这个资源