如何在App.xaml静态资源中使用嵌套字符串...?

问题描述

在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>
    

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...