簡體   English   中英

WP8將子標題文本添加到pivot控件頭

[英]WP8 add subtitle text to pivot control header

我想創建帶有兩個文本塊的自定義數據透視表頭:一個用於標題標題,另一個用於字幕,或者可以為每個數據透視頁添加相同的靜態字幕。 簡單的方法是定義標題模板,如下面的示例,但我如何將字幕文本綁定到實際控件,以便能夠在代碼中更改? 如果唯一的選擇是覆蓋樞軸控制,請提供一些示例(如果存在)。

<phone:Pivot.HeaderTemplate>
    <DataTemplate>
         <Grid>
              <TextBlock Text="{Binding}" /> //header
              <TextBlock Text="{Binding}" /> //subtite
         </Grid>
    </DataTemplate>
</phone:Pivot.HeaderTemplate>

謝謝。

我成功地做了你想做的事,但我並不為解決方案感到驕傲......

首先,我創建了一個帶2個字符串的對象:

public class Header
{
    public string Title { get; set; }
    public string Subtitle { get; set; }
}

然后在資源中創建XAML中的對象(或者您可以通過viewmodel綁定它們)

<phone:PhoneApplicationPage.Resources>
    <poc:Header x:Key="FirstHeader" Title="first" Subtitle="first subtitle"/>
    <poc:Header x:Key="SecondHeader" Title="second" Subtitle="second subtitle"/>
</phone:PhoneApplicationPage.Resources>

綁定每個pivotitem上的對象:

<phone:PivotItem Header="{StaticResource FirstHeader}">

然后像這樣設置你的Pivot.HeaderTemplate樣式:

<phone:Pivot.HeaderTemplate>
    <DataTemplate>
        <StackPanel Orientation="Vertical">
            <TextBlock Text="{Binding Title}" Foreground="White"/>
            <TextBlock Text="{Binding Subtitle}" FontSize="18" Foreground="White"/>
        </StackPanel>
    </DataTemplate>
</phone:Pivot.HeaderTemplate>

通過修改Pivot和PivotItem的行為可以實現更好的解決方案,但是我沒有成功更改Pivot.HeaderTemplate和PivotItem之間的綁定。

您可以嘗試單獨為每個項目定義標題,而不是整個數據透視表。 如果你想讓它適用於整個數據透視表,你應該改變樣式,並用字幕屬性擴展它。

無論如何,如果你想改變樞軸項目的標題,這里是代碼

<controls:Pivot Name="MainPivot">
    <controls:PivotItem x:Name="HomeMenuPivotItem">
        <controls:PivotItem.Header>
            <StackPanel>
                <TextBlock Text="Title"/>
                <TextBlock Text="Subtitle"/>
            </StackPanel>
        </controls:PivotItem.Header>
    </controls:PivotItem>
</controls:Pivot>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM