在WP7中显示字体

时间:2012-03-04 23:11:16

标签: windows-phone-7 fonts

我需要在WP7上显示已安装的字体。有没有简单的方法呢? 截至目前,我正在尝试使用ListPicker绑定字体名称和列表,但这实际上并不是我需要的。

我需要找到WP7上列出的字体,并以ListPicker全屏模式显示它们。

这就是我现在所拥有的:

数据模板

<DataTemplate x:Name="lpkFontNames">
        <TextBlock Text="{Binding FontNames}" />
</DataTemplate>

* ListPicker:*

<toolkit:ListPicker FullModeItemTemplate="{Binding lpkFontNames}"
                Grid.Row="1" Grid.Column="1" x:Name="lpkFontName" Width="290" Height="63" FullModeHeader="Selct Font Name"/>

在代码隐藏中:

Dim FontNames() As String = { "Arial","Segoe UI", "Times New Roman", "Cambria"}

Me.lpkFontName.ItemsSource = FontNames

* 编辑:*

我跟着this,但我无法填充它们

1 个答案:

答案 0 :(得分:1)

问题在于您的DataTemplate - 您的TextBlock的绑定不具有“FontNames”属性。对于ListPicker ItemsSource中的每个项目,您DataTemplate的实例都将被创建并绑定到ItemsSource中的该项目。您要做的是将TextBlock的属性直接绑定到已为其创建DataTemplate的项目。例如;

<DataTemplate x:Name="lpkFontNames">
    <TextBlock Text="{Binding}"
               FontFamily="{Binding}"
               />
</DataTemplate>

根据Custom Font Picker,我假设您希望字体名称显示在字体中?如果没有,请从FontFamily中的TextBlock中删除DataTemplate属性。例如;

<DataTemplate x:Name="lpkFontNames">
    <TextBlock Text="{Binding}"
               />
</DataTemplate>