2012-03-04 5 views
1

インストール済みのフォントをWP7に表示する必要があります。それを行う簡単な方法はありますか? 現在、私はListPickerを使用してフォント名とリストをバインドしようとしていますが、実際には必要ありません。WP7でフォントを表示

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 

* EDIT:*

私はthisに従ったが、私は彼らにに問題がある

答えて

1

を移入することができませんあなたのDataTemplate - あなたのTextBlockの「FontNames "プロパティを持っていませんバインディング。 ListPickerItemsSourceの各項目に対して、DataTemplateのインスタンスが作成され、ItemsSourceの項目にバインドされます。あなたがしたいことは、TextBlockのプロパティをDataTemplateが作成されたアイテムに直接バインドすることです。例えば;

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

私はCustom Font Pickerごとに、あなたはフォント名はフォント自体に表示することを前提としていますか?そうでない場合はのTextBlockFontFamily属性を削除してください。例えば;お返事のためのMrMDavidsonのおかげで@

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

と私はそれが働いてしまったと私は私がこれに似て取得する必要がありますようにするため、私は何をする必要があります何を選択したフォントを取得する必要がある場合:textbox1.text = ListPickerを?。 SelectedFont.Can私は選択したフォントを取得するためにこれを行うことができますか? – coder

+0

'SelectedItem'プロパティを使って' ListPicker'の現在選択されている項目を取得できます。これはオブジェクトなので、適切な型にキャストする必要があります(あなたの場合は 'string')。複数のselectを有効にしている場合、 'SelectedItems'(** s **に注意してください)プロパティを介して' IList'を取得できます。再度、各項目を適切にキャストする必要があります。 – MrMDavidson

関連する問題