Listpicker设计问题,无法添加第6个listpickerItem ......?

时间:2014-04-04 08:25:25

标签: c# xaml windows-phone-8 silverlight-toolkit

我正在开发WP 8应用程序。

我需要在我的应用程序中添加下拉列表。我搜索并查找ListPicker是WP8中Dropdown的备用。

我尝试使用以下代码获取List Picker: -

 <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
        <toolkit:ListPicker x:Name="Dropdown"   HorizontalAlignment="Center" VerticalAlignment="Top" ScrollViewer.HorizontalScrollBarVisibility="Visible" >
            <toolkit:ListPickerItem x:Name="one" Content="1"/>
            <toolkit:ListPickerItem x:Name="two" Content="1"/>
            <toolkit:ListPickerItem x:Name="three" Content="3"/>
            <toolkit:ListPickerItem x:Name="four" Content="4"/>
            <toolkit:ListPickerItem x:Name="five" Content="Testing"/>
            <!--<toolkit:ListPickerItem x:Name="seven" Content="Testing"/>-->
        </toolkit:ListPicker>

        <Button x:Name="btn1" HorizontalAlignment="Center" VerticalAlignment="Center" Background="White" Height="100" Width="150" Content="Click" Foreground="Red" Margin="0,-300,0,0" Click="btn1_Click"></Button>
    </Grid>

下面的图片显示了此代码的输出。

enter image description here

我的问题

1.如果我点击列表。列表项目中的背景按钮显示

enter image description here

2.如果我添加第6个列表选择器项。点击它显示以下错误

System.Windows.ni.dll中出现未处理的“System.ArgumentException”类型异常

如何解决这个问题....谢谢...

1 个答案:

答案 0 :(得分:1)

这是另一种在Windows Phone中使用ListPicker(DropDown)的方法。它更灵活的方式在Windows Phone中使用listpicker。以下是如何使用listpicker的示例代码,这可能会对您有所帮助。

//In your xaml
<toolkit:ListPicker Height="60"  Name="Dropdown" ExpansionMode="FullScreenOnly"  Width="210" >
                <toolkit:ListPicker.ItemTemplate>
                    <DataTemplate>
                        <TextBlock  Text="{Binding}"/>
                    </DataTemplate>
                </toolkit:ListPicker.ItemTemplate>
                <toolkit:ListPicker.FullModeItemTemplate>
                    <DataTemplate>
                        <TextBlock   Text="{Binding}"  Margin="2,10,0,0" FontSize="31"/>
                    </DataTemplate>
                </toolkit:ListPicker.FullModeItemTemplate>
            </toolkit:ListPicker>



 protected override void OnNavigatedTo(NavigationEventArgs e)
   {
    if (e.NavigationMode != NavigationMode.Back)
      {
       //Code behind On page load event.
       List<string> dropDownList = new List<string>();
       dropDownList.Add("item1");
       dropDownList.Add("item2");
       dropDownList.Add("item3");
       dropDownList.Add("item4");
       dropDownList.Add("item5");
       dropDownList.Add("item6");
       dropDownList.Add("item7");
       dropDownList.Add("item8");

    Dropdown.ItemsSource = dropDownList;
   }
 }