パノラマアイテムのヘッダーのフォントサイズを一度設定すれば、アプリ内のすべてのアイテムヘッダーに使用できる最も簡単な方法は何ですか?パノラマアイテムのヘッダーのフォントサイズを変更するにはどうすればよいですか?
答えて
あなたのアプリのすべてのヘッダーに対して、それを自動的に行う方法はありません。それぞれのスタイルを設定する必要があります。
明示的なスタイリングがマンゴーアップデートに入っているので、これを実行することができます。
更新
ここでは何ができるのですか?
必要なFontSzieのグローバルテンプレートスタイルを作成します。何かのように:あなたはあなた自身のPanoramaItemコントロールを作成し、カスタムを適用するためにgeneric.xamlを使用することができます
<controls:PanoramaItem Header="first" HeaderTemplate="{StaticResource MyItemHeaderTemplate}">
// ...
</controls:PanoramaItem>
:私はHeaderTemplateを設定し、このようにスタイリングしていることを望むすべてのPanoramaItemで次に
<Application.Resources>
<DataTemplate x:Key="MyItemHeaderTemplate">
<Grid>
<ContentPresenter>
<TextBlock Text="{Binding}" FontSize="20" />
</ContentPresenter>
</Grid>
</DataTemplate>
</Application.Resources>
PanoramaItemスタイル。
public class MyPanoramaItem : Microsoft.Phone.Controls.PanoramaItem
{
public MyPanoramaItem()
{
DefaultStyleKey = typeof(MyPanoramaItem);
}
}
次にあなたがGeneric.xaml
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:YourProjectNamespace">
<Style TargetType="local:MyPanoramaItem">
<!—your custom PanoramaItem style-->
</Style>
</ResourceDictionary>
\テーマを作成し、次のようにカスタムパノラマを使用する:あなたはhereを見つけることができます
xmlns:controls="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls"
xmlns:local="clr-namespace:YourProjectNamespace"
<Grid x:Name="LayoutRoot" Background="Transparent">
<!--Panorama control-->
<controls:Panorama Title="my application">
<controls:Panorama.Background>
<ImageBrush ImageSource="PanoramaBackground.png"/>
</controls:Panorama.Background>
<!--Panorama item one-->
<local:MyPanoramaItem Header="first item">
</ local:MyPanoramaItem >
</controls:Panorama>
generic.xamlおよびその使用方法の詳細。
たぶん、あなたは<controls:Panorama>
の下にこれを置くことで試みることができる:
<controls:Panorama.TitleTemplate>
<DataTemplate>
<TextBlock Text="{Binding Content, RelativeSource={RelativeSource TemplatedParent}}" FontSize="150" Margin="0,20,0,0" FontWeight="Bold" />
</DataTemplate>
</controls:Panorama.TitleTemplate>
ここで見つける:http://www.jstawski.com/archive/2010/10/25/change-windows-phone-7-panoramarsquos-control-title.aspx
これは、同様に私にとって難しい問題でした。しかし、私はあなたが/ fontweight/font ... so-sizeのサイズを変更したいそれぞれのヘッド項目についてこれを処理する非常に簡単な解決策を見つけました。私は現在取り組んでいるプロジェクトからスニペットを挿入しました。コントロールのxaml部分(PanoramaItem.HeaderTemplate)に注意してください。これは、ヘッダー項目に対してテンプルが変更された場所です。がんばろう!
<!--Panorama item one-->
<controls:PanoramaItem Header="Locations">
<Grid>
<ListBox Height="498" HorizontalAlignment="Left" Margin="2,0,0,0" Name="listBox1" VerticalAlignment="Top" Width="424" />
</Grid>
<controls:PanoramaItem.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding Content, RelativeSource={RelativeSource TemplatedParent}}" FontSize="55" FontFamily="Segoe WP Bold" Foreground="Black" TextAlignment="Left" FontWeight="Normal" FontStyle="Italic" />
</DataTemplate>
</controls:PanoramaItem.HeaderTemplate>
</controls:PanoramaItem>
"set style":DataTemplateをHeaderTemplateに設定することを意味しますか?その場合は、各アイテムヘッダーが異なるため、4つのパノラマアイテムごとに4つのDataTemplateを作成する必要がありますか?または、私は何とか1つのDataTemplateをPanoramaItem.Headerプロパティにバインドできますか? – Buju
ああthx。私はText = "{Binding}"でこの部分を見逃していました... DataTemplate内部からヘッダー文字列にアクセスする方法はわかりませんでした。このようなことが再び私に起こったら、DataTemplateでデータバインディングできるプロパティを調べる方法はありますか? – Buju