我們有一個不使用傳統資源文件的動態語言系統;而是通過語言管理器庫從數據庫獲取資源。基於傳統(VB6)解決方案,它的語言根據控件的標籤屬性中的資源名稱進行控制。在頁面初始化之後,我們引發一個採用LayoutRoot的方法,並遞歸它的子應用字符串的控件從標籤中查找字符串。這被證明是笨拙的,遞歸例程變成了怪物來迎合不同控件的微妙之處,我想改爲使用數據綁定來應用字符串。是否有可能將數據綁定到Silverlight中的方法?
我意識到我可以聲明屬性來綁定到每個控件,但這會涉及很多代碼,我希望有更好的方法。有沒有辦法綁定到一個方法,傳遞一個參數。我設想了一個像這樣的方法。
public string GetResource(string resourceName)
{
string resource = <fetch resource from language manager>;
if (String.IsNullOrEmpty(resource))
{
return resourceName;
}
else
{
return resource;
}
}
我們在我們的應用程序中已經有一個靜態方法用於檢索,它有以下簽名。
public static Resource(string resourceName, string defaultValue)
爲了能夠直接使用,會很好。
您剛剛使用「語言」作爲動詞嗎? *不寒而慄* – 2010-07-07 13:44:48
我做了,我認識到它是對語言的濫用。你會推薦什麼動詞?翻譯似乎不適合我描述的內容。 – 2010-07-07 14:55:55
「初始化」,「翻譯」,「應用資源」 – 2010-07-07 15:02:58