所以我有以下设置:
首先,我使用自定义绑定来处理本地化字符串,如下所示:
/// <summary>
/// Handles XAML Bindings to localized strings.
/// </summary>
public class LocalizedExtension : Binding
{
public LocalizedExtension(Defs name)
: base("[" + name.ToString() + "]")
{
this.Mode = BindingMode.OneWay;
this.Source = TranslationSource.Instance;
}
}
Defs
是所有可能的翻译键的枚举。例如Defs.pane
将是德语,英语等“ Pane”的翻译。
在XAML中,人们将像这样使用这种绑定:
<CheckBox
x:Name="checkA"
Content="{loc:Localized pane,
TargetNullValue='LSG'}" />
是否有一种方法可以从枚举中选择绑定参数(“窗格”)?因此,我从IntelliSense那里得到了建议,而不必写确切的字符串?
答案 0 :(得分:1)
您可以使用{x:Static}
标记扩展名:
<CheckBox x:Name="checkA"
Content="{loc:Localized {x:Static Defs.Pane},
TargetNullValue='LSG'}" />
此标记用于引用常量,静态属性,字段和枚举值。由于它需要强类型或显式类型,因此您将获得Intellisense支持。