加载带有用户名占位符的字符串
Load string with placeholder with user name
我有以下 XAML 代码
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Grid Margin="50">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="130"></ColumnDefinition>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="70"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
<TextBlock Grid.Column="1" Grid.Row="0" FontSize="36" FontFamily="Segoe UI Light" x:Uid="Greeting"/>
</Grid>
</Grid>
然后,我为每种语言创建了一个资源文件(一个用于 en-US,另一个用于 fr-FR),其中包含以下资源。
姓名:Greeting.Text
值:你好{0}!
事情是,在 运行 时间,我想用占位符替换我的名字,所以我最终会得到类似 Hello Peter Pan 的东西!
理想情况下,名字(小飞侠)应该来自Windows系统
背后的代码像谁?我在互联网上找不到类似的东西,所以不确定是否可能...
我想你可以这样划分你的 TextBlock:
<TextBlock Grid.Column="1" Grid.Row="0" FontSize="36" FontFamily="Segoe UI Light">
<Run x:Uid="Greeting"/>
<Run Text="{x:Bind Name}"/>
</TextBlock>
但是在后面的代码中,您必须定义一个 属性 Name,它将 return 用户名。 Haven 已经尝试过,但也许这些会有所帮助:, .
我有以下 XAML 代码
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Grid Margin="50">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="130"></ColumnDefinition>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="70"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
<TextBlock Grid.Column="1" Grid.Row="0" FontSize="36" FontFamily="Segoe UI Light" x:Uid="Greeting"/>
</Grid>
</Grid>
然后,我为每种语言创建了一个资源文件(一个用于 en-US,另一个用于 fr-FR),其中包含以下资源。
姓名:Greeting.Text 值:你好{0}!
事情是,在 运行 时间,我想用占位符替换我的名字,所以我最终会得到类似 Hello Peter Pan 的东西!
理想情况下,名字(小飞侠)应该来自Windows系统
背后的代码像谁?我在互联网上找不到类似的东西,所以不确定是否可能...
我想你可以这样划分你的 TextBlock:
<TextBlock Grid.Column="1" Grid.Row="0" FontSize="36" FontFamily="Segoe UI Light">
<Run x:Uid="Greeting"/>
<Run Text="{x:Bind Name}"/>
</TextBlock>
但是在后面的代码中,您必须定义一个 属性 Name,它将 return 用户名。 Haven 已经尝试过,但也许这些会有所帮助: