WPF Silverlight程式編碼資料收集

2021-09-06 03:30:34 字數 2649 閱讀 6338

一.獲取路徑資訊

序路徑的,應該這樣用:mycollection["system_curdirectory"] = system.io.path.getdirectoryname 

(process.getcurrentprocess().mainmodule.filename);

二、獲取silverlight.web專案中路徑uri

uri 是 intranet 或 internet 上可由應用程式使用的資源的一種簡潔表示形式。uri 類定義了屬性和方法來處理 uri,包括分析、比較和組合。

uri 類屬性是唯讀的;若要建立可修改的物件,請使用 uribuilder 類。

相對 uri(例如"/new/index.htm")必須相對於基 uri 展開,這樣才是絕對的。提供了 makerelativeuri 方法,以便在必要時將絕對 uri 轉換為相對 uri。

如果 uri 字串是格式良好的 uri 並且包括方案識別符號,uri 建構函式將不會轉義 uri 字串。

uri 屬性用轉義編碼返回規範化資料表示形式,任何 unicode 值大於 127 的字元都會被替換為等效的十六進製制數。為使 uri 具有規範化格式,uri 建構函式執行以下步驟:

在某些方案的建構函式中,作為規範化工作的一部分,將壓縮轉義表示形式。其 uri 將壓縮轉義序列的方案包括:file、http、https、net.pipe 和 net.tcp。對於其他所有方案,不壓縮轉義序列。例如:如果您將兩個點".."編碼為百分號形式的"%2e%2e",則對於某些方案,uri 建構函式將壓縮此序列。例如,下面的**示例演示了 http 方案的 uri 建構函式。

**

方法一:

//獲取指定要呈現的xaml內容的包活xaml檔案uri

var strfullurl =if

(strfullurl.indexof(

"clientbin")

>0)

方法二:

var uri

=new

"../report/default.aspx");

方法三:

string

url

=system.windows.browser.htmlpage.document.documenturi.tostring();

var struri

=url.substring(

0, url.lastindexof("/

")) +"

/report/default.aspx";

var uri

=new

uri(struri);

方法四:

獲取網頁根目錄

var xapuri ==

newuri(xapuri,

"../");

三、silverlight裡的uri引用資源檔案的各種情況

選擇這種生成方式後,該資源檔案會被嵌入到該應用的程式集中,就是說開啟生成的xap是看不到這個檔案的.

可以用相對於當前的xaml檔案的相對uri訪問, 如或是, 在子資料夾裡的可以用訪問到

最保險的方式是採用特有的程式集資源uri訪問,格式為

, 這種方式還可以引用到xap中的其他程式集中的

修改我們的兩個的引用方式為

**:

你可以發現一樣可以正常顯示

如果沒找到檔案的話,系統不會再找別的位置了, 會觸發imagefailed事件

在build action為resource時, 可以用一下幾種相對uri來引用資源檔案

**:

2. content:

用這種方式生成xap後檔案會被新增到xap檔案中,用壓縮工具開啟我們生成的xap後可以看到我們的檔案,silverlight.png在應用的"根"目錄, 而sl.jpg檔案存放在images資料夾中

這種情況下, 訪問這兩個的相對uri需要以"/"開始

**:

注意在這種方式下, 如果沒有在xap中找到檔案, 那麼silverlight會自動從當前xap應用所在的資料夾下來找所需檔案,如果還沒有找到那麼就觸發imagefailed事件, 這種方式比較適合在多個程式集引用相同檔案時採用

3. none:

**:

[i]絕對路徑引用:

**:

4. embeddedresource:page:

所有的使用者控制項, 頁面和子窗體(usercontrol/page/childwindow)的xaml檔案應該採用的生成操作, 如果改為別的方式那麼會導致後台對應的**檔案無法鏈結到這個xaml檔案, 採用"page" build action時xaml裡的錯誤會導致工程無法正確生成.

compile

這個是entityframework採用的生成方式, 在silverlight裡是沒用

splashscreen

"splashscreen"是這個選項是wpf的啟動畫面使用的,  silverlight啟動載入畫面是用的其他方式實現的, 所以在silverlight裡不要用這個方式 。

wpf silverlight文章推薦閱讀

雖然國內wpf技術還沒普及起來,但在國外wpf的精品文章已經出現很多,還有大家會比較關注silverlight,順便也會提一些文章推薦大家閱讀.看這裡還沒人寫wpf文章推薦,就厚著臉皮向大家推薦。這裡希望,還沒畢業的同學,專案需要的同志,喜歡玩新技術的高人,已經在玩wpf的各位工程師和廣大人民群眾一...

WPF Silverlight動畫 遊戲教程彙總

c 開發wpf silverlight動畫及遊戲系列教程 game tutorial 一 讓物體動起來 c 開發wpf silverlight動畫及遊戲系列教程 game tutorial 二 讓物體動起來 c 開發wpf silverlight動畫及遊戲系列教程 game tutorial 三 讓...

WPF Silverlight動畫 遊戲教程彙總

c 開發wpf silverlight動畫及遊戲系列教程 game tutorial 一 讓物體動起來 c 開發wpf silverlight動畫及遊戲系列教程 game tutorial 二 讓物體動起來 c 開發wpf silverlight動畫及遊戲系列教程 game tutorial 三 讓...