如何在PivotItem上添加图像并保留文本

时间:2016-02-24 16:54:17

标签: xaml win-universal-app

This question显示了如何用图像替换PivotItem头文本,但我希望两者都有(加上,文本应该是一个变量)。

目标是复制以下导航模型:

example

是否可以调整这个简单的XAML来实现文本和图像?如果没有,该怎么做?

<Page
    x:Class="Lenny.Windows.Views.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:vm="using:Lenny.Windows.Views"
    mc:Ignorable="d">
    <Page.BottomAppBar>
        <CommandBar>
            <CommandBar.Content>
                <Grid/>
            </CommandBar.Content>
            <AppBarButton Icon="Accept" Label="appbarbutton"/>
            <AppBarButton Icon="Cancel" Label="appbarbutton"/>
        </CommandBar>
    </Page.BottomAppBar>

    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
        <Pivot>
            <Pivot.HeaderTemplate>
                <DataTemplate>
                    <Image Source="{Binding}"></Image>
                </DataTemplate>
            </Pivot.HeaderTemplate>
            <PivotItem Header="/Assets/LockScreenLogo.scale-200.png" >
                <Grid />
            </PivotItem>
            <PivotItem Header="/Assets/LockScreenLogo.scale-200.png">
                <Grid/>
            </PivotItem>
            <PivotItem Header="/Assets/LockScreenLogo.scale-200.png">
                <Grid/>
            </PivotItem>
        </Pivot>
    </Grid>
</Page>

1 个答案:

答案 0 :(得分:1)

如果您使用的是MVVM,则可以使用ViewModel中的属性,并在标题模板中添加一个文本块以与此属性绑定,您可以从ViewModel更改此值。

我说这是因为你需要文本需要变量。

如果您不使用MVVM模式,则需要使用绑定方法

https://msdn.microsoft.com/en-us/library/windows/apps/mt269383.aspx

在xaml中,您需要添加一个方向=水平的堆栈面板,并在标题模板中将所有文本和图像添加到其中