天天看點

Silverlight——施工計劃日報表(四)——自适應浏覽器視窗

  在很多情況下,從使用者體驗的角度考慮,我們都希望我們的Silverlight程式能夠适應各種大小的浏覽器視窗或者架構,如圖所示:

Silverlight——施工計劃日報表(四)——自适應浏覽器視窗
Silverlight——施工計劃日報表(四)——自适應浏覽器視窗
Silverlight——施工計劃日報表(四)——自适應浏覽器視窗

  那麼如何使Silverlight程式能夠自适應浏覽器視窗的大小呢,即使在動态改變浏覽器視窗的時候也不例外。Google了幾次,都沒找到自己所需要的方案,于是隻好自己來解決了。

  首先,有沒有辦法在Silverlight的程式代碼中擷取浏覽器的高寬呢?這一點似乎沒法做到,Application.Current.Host.Content.ActualWidth和Application.Current.Host.Content.ActualHeight擷取的是插件的高寬。BrowserInformation對象擷取的雖然是浏覽器的資訊,但是沒有高寬。那麼可以不可以使用JS擷取浏覽器高寬呢,這當然是可行的。

擷取浏覽器高寬有了思路,那麼怎麼讓程式自适應呢?于是想到了“window.onresize”事件。這樣,問題就解決了,具體代碼如下:

首先,在Silverlight中定義了如下方法:

該函數是可以使用JS調用的,上一篇已經說明了,這裡就略過了。布局的方法寫好了,該寫js去調用了。由于不想每個頁面都寫調用的js,于是UserControl_Loaded

事件就辛苦點,在裡面寫下如下代碼:

繼續閱讀