0

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 アイテムの後にクラッシュします

4

1 に答える 1

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>

リストピッカーにデータを入力するには、itemSource プロパティを使用するだけです。

        //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;
                /*
                 .
                 * .
                 * .
                 * .
                 * .
              */

        }
于 2013-09-17T18:40:11.773 に答える