成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Silverlight圖片路徑處理方式解析

開發 開發工具
Silverlight圖片路徑的處理方式對于一個剛剛接觸這樣的工具進行開發的朋友來說可能很難搞清楚。在這里我們就為大家介紹一下相關方法。

Silverlight開發工具對于圖片的處理是相當強大的。我們可以通過這款工具創建出各種形態的圖片格式以滿足自己的需求。Silverlight圖片路徑中, 現在支持的Image格式有jpg和png,部分png編碼也不支持,同時有些png在xaml的design預覽中不可見,但運行時可見。請看XAML markup中兩行代碼的異同:#t#

  1. < StackPanel Background="White"
     Orientation="Vertical"> 
  2. < Image x:Name="blue" Source=
    "/images/blue.png" Stretch="None"/> 
  3. < Image x:Name="green" Source=
    "images/green.png" Stretch="None" /> 
  4. < /StackPanel> 

 

反斜杠forward-slash?有沒有蝦米區別呢?如圖所示,名稱為Resource測試示例解決方案資源管理器以及運行效果:以反斜杠開頭的blue圖片需要放在ClientBin目錄下的相應文件夾里;不以反斜杠開頭的green圖片應該放在Resource目錄下的相應文件夾里。這樣才可正確引用,否則會發生ImageError。

 

 

為什么?兩者都是Silverlight圖片路徑,到底反斜杠帶來了什么區別呢?反斜杠開頭的相對路徑,代表的相對位置是應用程序運行的根目錄,即.xap壓縮包內,若在這其中尋找不到要引用的文件,則相對路徑的回退機制(fallback mechanism )自動在在.xap所在的目錄,本例即為ClientBin目錄中尋找加以引用。兩個位置都沒有,才會發生錯誤。不以"/"開頭,則代表的相對位置是引用該圖片的XAML文件所在的目錄,本例即page.xaml文件所在的Resource目錄。

那么究竟選擇哪種Silverlight圖片路徑方式呢?把xap文件重命名為zip文件,解壓之,再用reflector反編譯其中的dll文件,發現其包含了green圖片,卻沒有blue圖片。其實也很明顯,blue所在的images文件夾與.xap同級,自然不會包含在內。由此可知,不以反斜杠開頭的green圖片嵌入到Silverlight程序中的xap文件直接下載到客戶端,而blue圖片則按需索取(on-demand),當顯示時再去下載。當數據量較大時,不以反斜杠開頭的方式加載程序的時間就過長,用戶體驗不好,以"/"開頭自然就無此無慮,不過以反斜杠開頭的話,在xaml中設計預覽看不到,只有程序運行才可以看到。(若為了預覽,可先從ClienBin那里復制一份放在page.xaml同級目錄下供設計使用,程序發布時予以刪除。)

除了在XAML中直接確定Image的Source URI,當然也可以在code-behind中確定,此時反斜杠的用法和XAML中相通。

  1. C#:Image img = new Image();  
  2. img.Source = new BitmapImage(
    new Uri("test.jpg", UriKind.
    Relative)); //page.xaml所在目錄下  
  3. //img.Source = new BitmapImage
    (new Uri("/test.jpg", UriKind.
    Relative)); //.xap所在目錄下 

 

話說要是使用諸如http://www.liongg.net/test.jpg之類絕對URI就沒反斜杠什么事了。在代碼中還可以利用Application.Current.Host.Source.AbsolutePath等方法,我試驗下了,發覺太麻煩還沒意思,不再多管。

再深入一點,甚至Silverlight圖片路徑放在與page.xaml同級的文件夾下,一樣可以使用反斜杠進行引用。只需要在相應圖片的屬性里,把Build Action選擇為"Content"即可,不過該圖片還是被放到.xap壓縮包里了

責任編輯:曹凱 來源: 博客園
相關推薦

2023-07-10 08:00:13

架構Rest返回值

2017-04-17 10:05:51

Hadoop錯誤方式

2010-01-18 16:58:29

VB.NET Over

2021-03-31 09:11:27

URLErrorHTTPError

2022-03-07 14:39:01

前端框架批處理

2009-07-21 15:47:35

JDBC批處理

2023-10-08 20:31:18

React

2009-12-29 14:20:27

WPF路徑

2024-11-20 13:20:32

2025-01-27 12:19:51

2024-04-07 08:50:00

GenAIAI人工智能

2010-01-07 17:57:22

VB.NET構造函數

2010-01-13 17:23:36

VB.NET動態事件

2010-01-22 18:32:23

VB.NET數據并發性

2012-08-13 10:23:33

IBMdW

2009-08-17 17:28:23

C#轉義字符

2022-04-13 10:38:04

Springboot日期時間格式化

2024-03-05 18:15:28

AsyncAwait前端

2009-06-12 08:57:56

Unix字符串處理

2009-08-19 17:30:38

C#轉義字符
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲色欧美另类 | 日韩福利电影 | 国产一级片网站 | 一区二区三区视频在线观看 | 国产日韩欧美在线 | 亚洲网址在线观看 | 免费高潮视频95在线观看网站 | 91啪亚洲精品 | 国产精品久久久精品 | 国产一区二区 | 欧美精品一区在线发布 | 中文字幕一区二区三区乱码在线 | 国产成人精品久久二区二区 | 日日摸日日添日日躁av | 日本午夜一区 | 日韩一级精品视频在线观看 | 成人在线视频免费看 | 亚洲在线一区 | a级黄色片在线观看 | 久久国产成人精品国产成人亚洲 | 午夜精品久久久久久久星辰影院 | 成人看片在线观看 | 亚洲狠狠爱 | av一区在线观看 | 男女免费视频网站 | 亚洲精选一区二区 | 欧美亚洲视频 | 日本亚洲精品成人欧美一区 | 欧美阿v| 五月激情六月婷婷 | 亚洲成人在线免费 | 91精品国产日韩91久久久久久 | 亚洲精品9999久久久久 | h免费观看 | 天天拍天天操 | 亚洲福利一区二区 | 91精品一区二区三区久久久久久 | 欧州一区二区三区 | 欧美一区二区久久 | 婷婷五月色综合 | 成av在线 |