如何显示所有Listpicker选项,虽然放在页面底部?

时间:2013-09-25 10:04:14

标签: windows-phone-7 windows-phone-8 windows-phone-7.1

如果我把它放在页面中间,ListPicker工作正常。但根据我的要求,我需要将它放在页面的底部。因此,当我这样做时只显示一个选项,其余选项位于屏幕的底部。

我怎样才能看到所有选项?

<phone:PhoneApplicationPage 
x:Class="ListPickerDemo.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="768"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
SupportedOrientations="Portrait" Orientation="Portrait"
shell:SystemTray.IsVisible="True">


<!--LayoutRoot is the root grid where all page content is placed-->
<Grid x:Name="LayoutRoot" Background="Transparent">
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="*"/>
    </Grid.RowDefinitions>

    <!--TitlePanel contains the name of the application and page title-->
    <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
        <TextBlock x:Name="ApplicationTitle" Text="MY APPLICATION" Style="{StaticResource PhoneTextNormalStyle}"/>
        <TextBlock x:Name="PageTitle" Text="page name" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
    </StackPanel>

    <!--ContentPanel - place additional content here-->
    <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">

        <toolkit:ListPicker x:Name="listpicker1" Margin="-6,522,6,-304">
            <toolkit:ListPickerItem Content="India" />
            <toolkit:ListPickerItem Content="China" />
            <toolkit:ListPickerItem Content="Russia" />
            <toolkit:ListPickerItem Content="United States" />
        </toolkit:ListPicker>


    </Grid>
</Grid>

2 个答案:

答案 0 :(得分:0)

将内容页面放在ScrollViewer中,以便在扩展ListPicker后滚动页面。

答案 1 :(得分:0)

我使用 FullModeItemTemplate 通过在另一个页面中显示列表选项来完成。

代码:

MainPage.xaml中

<toolkit:ListPicker Header="country" x:Name="lp2" FullModeHeader="select country" Margin="35,233,27,45" Grid.Row="2">
            <toolkit:ListPicker.ItemTemplate>
                <DataTemplate x:Name="dt1">
                    <StackPanel>
                        <TextBlock Text="{Binding BindsDirectlyToSource=True}"/>
                    </StackPanel>
                </DataTemplate>
            </toolkit:ListPicker.ItemTemplate>
            <toolkit:ListPicker.FullModeItemTemplate>
                <DataTemplate x:Name="dt2">
                    <StackPanel>
                        <TextBlock Text="{Binding BindsDirectlyToSource=True}" FontSize="55" />
                    </StackPanel>
                </DataTemplate>
            </toolkit:ListPicker.FullModeItemTemplate>

        </toolkit:ListPicker>

MainPage.xaml.cs中

namespace ListPickerDemo
{
    public partial class MainPage : PhoneApplicationPage
    {
        String[] Country = { "India","Japan",
                              "China","United states",
                              "Australia","Brazil",
                              "Singapore","Newzealand","South Africa"};


        // Constructor
        public MainPage()
        {
            InitializeComponent();
            this.lpkCountry.ItemsSource = Country;
            this.lp2.ItemsSource = Country;
        }


    }
}