如何只在一个Panorama页面(屏幕)上放置按钮?

时间:2011-03-15 21:03:28

标签: windows-phone-7 listbox panorama-control

我在wp7中使用全景UI。

我有几个全景屏幕,每个都包含ListBox。 我想只将按钮添加到一个全景页面(与ListBox一起),当我移动到另一个时,我不会在另一个页面上移动按钮。 此按钮需要在列表框上方,其功能仅涉及此列表实例,而不是另一个全景屏幕。 这有可能实现吗?

2 个答案:

答案 0 :(得分:4)

Pivot控件具有Pivot项目,因此您只需将按钮添加到一个Pivot项目中

编辑:在枢轴项目(或全景项目)内,您必须使用网格才能有两行,一个按钮和另一个列表框

<controls:Pivot Title="MY APPLICATION">
                <!--Pivot item one-->
                <controls:PivotItem Header="item1">
                                    <Grid>
                    <Grid.RowDefinitions>
                        <RowDefinition></RowDefinition>
                        <RowDefinition></RowDefinition>
                    </Grid.RowDefinitions>
                    <Button Grid.Row="0"></Button>
                    <ListBox Grid.Row="1"></ListBox>
                </Grid>

                </controls:PivotItem>

                <!--Pivot item two-->
                <controls:PivotItem Header="item2">
                    <Grid/>
                </controls:PivotItem>
            </controls:Pivot>

答案 1 :(得分:0)

您可以为TitleTemplate控件本身设置Panorama属性,然后将现有的静态资源绑定到该属性。例如:

<phone:PhoneApplicationPage.Resources>
    <DataTemplate x:Key="header">
        <StackPanel>
            <TextBlock Text="Pivot Control">
            </TextBlock>
            <Button Margin="0,0,800,0" Width="200" Content="Test"></Button>
        </StackPanel>
    </DataTemplate>
</phone:PhoneApplicationPage.Resources>

这是一个非常基本的示例,但您可以引入自定义绑定。

然后您可以在控件中引用自定义模板:

<controls:Panorama TitleTemplate="{StaticResource header}">
    <controls:PanoramaItem Header="Main"></controls:PanoramaItem>
    <controls:PanoramaItem Header="Second"></controls:PanoramaItem>
    <controls:PanoramaItem Header="Third"></controls:PanoramaItem>
</controls:Panorama>

Panorama控件中,该按钮仍会在标题中移动,因此在您的情况下,更好的选择是标题不移动的Pivot控件。

相关问题