【问题标题】:How to place button at only one Panorama page (screen)?如何仅在一个全景页面(屏幕)上放置按钮?
【发布时间】:2011-03-16 15:21:13
【问题描述】:

我在 wp7 中使用全景 UI。

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

【问题讨论】:

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


    【解决方案1】:

    Pivot 控件具有 Pivot Items,因此您可以将按钮添加到一个 Pivot Item 中

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

    <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>
    

    【讨论】:

    • ups 我拼错了问题,它是全景而不是枢轴。对不起我的不好:(
    • 我觉得原理是一样的
    • @nemke:同样的事情也适用于全景图,它包含PanoramaItems 而不是PivotItems
    • 是的,你得到了我的支持(好线索),但是当我添加新的 PanoramaItem 时,它的新屏幕与我原来的不同。
    • 我会说你需要包含 Grid(2 行)的 PanoramaItem,它将包含 Button(第 1 行)和 ListBox(第 2 行)
    【解决方案2】:

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

    <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 控件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多