我有这段代码 -
<Picker
HorizontalOptions="FillAndExpand"
SelectedIndex="{Binding GenderIndex}"
VerticalOptions="Center">
<Picker.Items>
<x:String>Man</x:String>
<x:String>Woman</x:String>
</Picker.Items>
我想要本地化值“男人”和“女人”
我有TranslateExtension : IMarkupExtension
并在XAML中使用此功能
Text="{extensions:Translate LastName}"
并且效果很好
但是当我尝试使用
时<Picker
HorizontalOptions="FillAndExpand"
SelectedIndex="{Binding GenderIndex}"
VerticalOptions="Center">
<Picker.Items>
<x:String>{extensions:Translate Man}</x:String>
<x:String>{extensions:Translate Woman}</x:String>
</Picker.Items>
设备显示不是值,而是{extensions:Translate Man}
。
此外,我不能使用Binding for ItemsSource。
答案 0 :(得分:2)
如果你像这样嵌入<x:String>
- 它将被视为字符串。尝试使用元素语法:
<Picker.Items>
<extensions:Translate PropertyName="Man" />
</Picker.Items>
PropertyName
对应于标记扩展的默认属性。