2015-05-12 16 views
0

我正在嘗試爲wpf中的給定元素名獲取多語言翻譯(「標籤或標題」)字符串值。例如, ;元素名稱爲「txtDescription」;我的IValueConverter實現將返回「Description」;換另一種語言將返回不同的翻譯字符串(即描述爲西班牙語),並且翻譯字符串將是Text = ...的相同元素。wpf元素名稱作爲IValueConverter的參數

我是新來的wpf;我不能讓它工作。有沒有什麼優雅的方法可以用類似的方式來做到這一點。

<TextBlock Name="txtDescription" Text="{Binding Converter={StaticResource MultiLingualConverter} }"</TextBlock> 

如果這不是簡單的或需要更多的代碼,然後如發送「txtDescription」作爲參數傳遞給MultiLingualConverter另一種是可以接受的,但現在我不如何做到既不。

+0

你是否收到了具體的錯誤?意想不到的結果?還有別的嗎?我注意到的一件事是你的代碼中有一個語法錯誤;你沒有正確地關閉你的標籤,這不會被編譯。 –

回答

1

當然,你應該在你的系統中建立良好的本地化支持,對每個字符串使用轉換器更好。

直到今天,最好的解決辦法我發現,我幾乎總是使用它是這樣的:

http://blogs.microsoft.co.il/tomershamam/2007/10/30/wpf-localization-on-the-fly-language-selection/

試試看。祝你好運

+0

感謝您分享您的體驗。我真的很喜歡它,即使我不使用它,它提供了我可以用於我的scenerio的整個邏輯(在運行時從Web服務器拉多語言資源)。 – freewill

1

您可以通過ConverterParameter屬性傳遞元素名稱,this是如何將字符串傳遞給轉換器的示例。

但是,WPF本地化不僅僅是爲不同的語言返回不同的字符串。您可以閱讀this article以獲取更多信息,並在頁面中有一個運行對話框示例以幫助您開始。