ListPicker windows phone 7给出错误

时间:2013-09-17 16:35:03

标签: windows-phone-7 listpicker

我的Windows Phone 7应用程序&中有列表选择器它工作正常,但每当我尝试在其中添加更多选项...它崩溃我可以添加最多4或5选项只有在这个列表选择器有什么我可以做到这一点

我的工作代码是

xaml代码

                <toolkit:ListPicker x:Name="ListPicker" Margin="12,3,12,12" Foreground="#FF00C000" >
                    <toolkit:ListPicker.Items>
                        <toolkit:ListPickerItem Content="Item1"/>
                        <toolkit:ListPickerItem Content="Item2"/>
                    </toolkit:ListPicker.Items>
                </toolkit:ListPicker>

&安培; .cs代码

            string ListPickerOperator = (this.ListPicker.SelectedItem as ListPickerItem).Content as string;

            switch (ListPickerOperator )
            {
                case "Item1":

                    break;

                case "Item2":

                    break;
            }

但是每当我尝试使这个列表变大时,它会在4 5个项目之后崩溃

1 个答案:

答案 0 :(得分:2)

我认为你应该使用项目模板。您无法显示超过4或5个项目,因为您必须使用“完整模式模板”。 要使用项目模板,你应该做这样的事情。

<toolkit:ListPicker x:Name="ListPicker" Margin="12,3,12,12" Foreground="#FF00C000" SelectionChanged="ListPicker_SelectionChanged" >

        <!--Normal Item template-->
        <toolkit:ListPicker.ItemTemplate>
         <DataTemplate>
            <TextBlock Text="{Binding}"/>
        </DataTemplate>
        </toolkit:ListPicker.ItemTemplate>

        <!--Full Mode template-->
        <toolkit:ListPicker.FullModeItemTemplate>
            <DataTemplate>
                <TextBlock Text="{Binding}"/>
            </DataTemplate>
        </toolkit:ListPicker.FullModeItemTemplate>
    </toolkit:ListPicker>

要填充listpicker,您只需使用itemSource propetary

        //list string 
        List<String> itemsList = new List<String>();

        // create 100 items 
        for (int j = 0; j < 100; j++)
        {
            itemsList.Add("item" + j);
        }

        //itemsource
        this.ListPicker.ItemsSource = itemsList;

获取selectedItem,你可以做这样的事情

String ListPickerOperator= ((String)this.ListPicker.SelectedItem);

        switch (ListPickerOperator)
        { 

            case "item1":
                MessageBox.Show("item 1 was selected");
                break;
            case "item2":
                MessageBox.Show("item 2 was selected");
                break;
                /*
                 .
                 * .
                 * .
                 * .
                 * .
              */

        }