如何在Pivot标题中添加类似于Windows 10中iOS页面控制器的图像?

时间:2016-04-05 15:57:12

标签: c# windows-10-universal

我目前正在使用Windows 10和Pivot控件。我知道我们可以通过添加图像或自定义TextBlock来自定义标题模板。我知道如何自定义基本模板,如下面的

<Pivot.HeaderTemplate>
    <DataTemplate>
        <Grid>
            <TextBlock Text="{Binding}"
                       FontSize="22"/>
        </Grid>
    </DataTemplate>
</Pivot.HeaderTemplate>

这对于基本用途完全正常,但我希望获得类似于以下屏幕截图的输出。为每个标题添加椭圆,它应位于页面的中心。

enter image description here

有人可以建议这是否可行?

更新

我添加了如下的StackPanel。

 <StackPanel HorizontalAlignment="Center" Grid.Row="1" Orientation="Horizontal">
                    <Ellipse Fill="Cyan"
                             Height="10"
                             Width="10"
                             Margin="10,0"/>
                    <Ellipse Fill="Gainsboro"
                             Height="10"
                             Width="10"
                             Margin="10,0"/>
                    <Ellipse Fill="Gainsboro"
                             Height="10"
                             Width="10"
                             Margin="10,0"/>

                </StackPanel>

现在如何将 PivotHeaderForegroundSelectedBrush PivotHeaderForegroundUnselectedBrush 分配给省略号?

1 个答案:

答案 0 :(得分:1)

用于设计页面中心的椭圆。
选项1
您可以通过绑定边距属性来实现。每个调整大小都需要更新此边距属性。
选项2
否则,将“方向”指定为“水平”,“居中对齐”并包含椭圆的“堆栈面板”,这些椭圆会在“轴心”选择更改后立即更新。您可以找到由Jerry Nixon Pagination创建的类似控件
至于椭圆颜色更改,您可以为不同的状态创建模板,使用触发器甚至覆盖当前的数据透视表头模板

<SolidColorBrush x:Key="PivotHeaderForegroundSelectedBrush" Color="Blue" />
<SolidColorBrush x:Key="PivotHeaderForegroundUnselectedBrush" Color="White" />