簡體   English   中英

使用WPF本地化擴展防止魔術字符串

[英]Prevent Magic string with WPF Localization Extension

我正在開發WPF應用程序,用戶可以在運行時更改語言。 在C#代碼(ViewModels等)中,我正在使用對資源的引用。 例如:

string translation = ScreenResources.WorkpieceDiameter;

這支持Intellisense和編譯時間錯誤。 在XAML代碼中,我正在使用WPF本地化擴展:

Header="{lex:LocText xxxx.ScreenResources.WorkpieceDiameter}"

現在的問題是,在XAML代碼中,我使用的是“魔術字符串”,因此,如果資源名稱更改或移至另一個資源,則不會出現任何編譯時錯誤。 同樣,在沒有智能感知成員列表的情況下進行的開發工作也會增加。

是否可以將資源與C#代碼中的靜態引用static一起使用,而無需利用WPF Loc Extension的優勢?

不知道為什么需要擴展。 我只是這樣做:

Header="{x:Static ns:ScreenResources.WorkpieceDiameter}"

其中,“ ns”是資源文件的名稱空間,它是在XAML的開頭添加的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM