如何在 App.xaml 静态资源中使用嵌套字符串...?
How to use a nested string in App.xaml static resources...?
在我的 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>
在我的 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>