我需要在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,但我无法填充它们
答案 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>