问题描述
在App.xaml文件中,我定义了以下静态资源...
<x:String x:Key="StaticString1">static string 1</x:String>
<x:String x:Key="StaticString2">static string 2 using {StaticResource StaticString1}</x:String>
在内容视图(在另一页上)中,我想显示StaticString2
并使其自动拉入StaticString1
,但是它不起作用。
我希望它说“使用静态字符串1的静态字符串2”,但是它只显示了带有花括号的文字(“使用{StaticResource StaticString1}的静态字符串2”)。
是否可以在静态资源中执行此操作,还是需要将<Label.FormattedText>
与<Span>
一起使用?
解决方法
不,我认为您不能在xaml中组合两个字符串。
您可以将<Label.FormattedText>
与<Span>
结合使用以实现此目的:
<ContentPage.Content>
<StackLayout>
<Label >
<Label.FormattedText>
<FormattedString>
<Span TextColor="Black" FontSize="18" Text="{StaticResource StaticString2}"/>
<Span TextColor="Black" FontSize="18" Text=" "/>
<Span TextColor="Black" FontSize="18" Text="{StaticResource StaticString1}"/>
</FormattedString>
</Label.FormattedText>
</Label>
</StackLayout>
</ContentPage.Content>
在App.xaml
中:
<x:String x:Key="StaticString1">static string 1</x:String>
<x:String x:Key="StaticString2">static string 2 using </x:String>