silverlight 裡需要考慮非同步呼叫的問題,比較麻煩。所以寫了兩個簡單的擴充套件方法。
乙個方法是為了更新 ui 控制項。可以自動在不同的呼叫環境下判斷是否需要 invoke, 從而安全的呼叫控制項相關的方法。
另乙個方法的目的是把任務放到 threadpool 裡去等待後續的非同步執行。
**如下:
using
system.windows;
using
system;
using
system.threading;
public
static
class
threadcallextensions
else
}///
///非同步呼叫
///
///
///
public
static
void
callinbackground(
this
dependencyobject obj, action action));}
} 乙個呼叫示例:
var db
=createdataaccess();
//this 是當前的 page
this
.callinbackground(
delegate
);});
這樣,可以在呼叫方有效的減少很多因為滿足同步/非同步不同呼叫方式的需要而寫的**。
Silverlight 跨執行緒訪問無效
解決辦法有以下幾種1使用 synchronizationcontext 此方法需要注意的是,system.threading.synchronizationcontext.current必須在ui執行緒中呼叫,如果在子執行緒中,將返回null 雙擊 全選 12 3 4 5 6 7 8 9 10 11...
關於Silverlight安裝問題之三
其實問題二和問題三應該換一下,呵呵 驗證系統要求 請確保您正在執行 與 silverlight 相容的 windows 作業系統和瀏覽器,並且已解除安裝任何以前版本的 silverlight 或 wpf e 名稱 注意 這是 silverlight 的預發布版本,開發人員可使用該版本進行評估。以上是...
關於Silverlight安裝問題之四
如果你在visual studio 2008 orcas中開啟silverlight專案,編譯通不過,並發現圖1的引用列表中的部分類庫不存在,出現 黃 色嘆號,這可能是由於你的silverlight沒有安裝或是安裝的較早期的silverlight1.0版本造成的 如果您確定安裝的是最新的1.1 al...