Art*_*nko 3 c# xaml xamarin xamarin.forms
我有这个代码 -
<Picker
HorizontalOptions="FillAndExpand"
SelectedIndex="{Binding GenderIndex}"
VerticalOptions="Center">
<Picker.Items>
<x:String>Man</x:String>
<x:String>Woman</x:String>
</Picker.Items>
Run Code Online (Sandbox Code Playgroud)
我想要本地化值“Man”和“Woman”
我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>
Run Code Online (Sandbox Code Playgroud)
设备显示的不是值,而是{extensions:Translate Man}。
另外,我无法对 ItemsSource 使用 Binding。
如果你像那样嵌入<x:String>- 它将被视为字符串。尝试使用元素语法:
<Picker.Items>
<extensions:Translate PropertyName="Man" />
</Picker.Items>
Run Code Online (Sandbox Code Playgroud)
PropertyName对应于标记扩展上的默认属性。