我的 windows phone 8 应用程序应该可以使用英语和阿拉伯语两种语言。 在这个应用程序中,我在许多地方使用文本块控件,即在列表框中,也作为单独的页眉。
<!--TitlePanel contains the name of the application and page title-->
<StackPanel Grid.Row="0" VerticalAlignment="Center">
<TextBlock x:Name="title" Text="{Binding LocalizedResources.CategoriesText, Source={StaticResource LocalizedStrings}}" Foreground="#FF501F6E" Style="{StaticResource PhoneTextNormalStyle}" FontWeight="Bold" FontSize="40" HorizontalAlignment="Center" VerticalAlignment="Center" FontFamily="Fonts/nazli.ttf#nazli"/>
</StackPanel>
现在在列表框中我也有文本块。
<Grid x:Name="ContentPanel" Grid.Row="2" Background="White">
<ListBox x:Name="categoriesList"
SelectionChanged="categoriesList_SelectionChanged">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid x:Name="categoryGrid" Height="60" Margin="0,0,0,0" MinWidth="480" Background="{Binding Converter={StaticResource RowColour}}" >
<Grid.RowDefinitions>
<RowDefinition Height="60"/>
<!--<RowDefinition Height="10"/>-->
</Grid.RowDefinitions>
<StackPanel x:Name="dataRow" Grid.Row="0" Orientation="Horizontal" VerticalAlignment="Center">
<TextBlock x:Name="category" Text="{Binding CategoryName}" Foreground="#FF501F6E" Style="{StaticResource PhoneTextNormalStyle}" HorizontalAlignment="Left" FontSize="28" MinWidth="420"/>
<Image x:Name="arrow" Stretch="Fill" Margin="0,0,0,0" Source="{Binding ArrowImageName}" Height="20" HorizontalAlignment="Right"/>
</StackPanel>
<!--<Image x:Name="line" Grid.Row="1" Width="460" HorizontalAlignment="Center" Source="Images/separator.png" />-->
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
默认情况下,应用程序使用英语。因此,当应用程序为英文时,我想对所有文本块使用默认的 Font Family Segoe WP 。
当用户将应用程序的语言从英语更改为阿拉伯语时,我想对应用程序中的所有文本块使用嵌入式字体nazli.ttf。
因此,我在我的应用程序中嵌入了一种外部字体并将内容类型设置为Copy Always。字体是nazli.ttf。
Blow 是适用于英语的外部风格。但我需要一个适用于英语和阿拉伯语的外部资源。
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib">
<Style x:Key="NormalTextStyle" TargetType="TextBlock">
<Setter Property="FontSize" Value="30"/>
<Setter Property="FontWeight" Value="Normal"/>
<Setter Property="FontFamily" Value="Segoe WP"/>
<Setter Property="Foreground" Value="Yellow"/>
</Style>
</ResourceDictionary>
那么外部资源文件应该如何满足上述要求。