Проблема с ListPicker "SelectionMode = Multiple" - PullRequest
0 голосов
/ 05 декабря 2011

Я определил элементы ListPicker с помощью «Sys: String», «ViewModel» & ListPickerItem », но во всех трех сценариях я не смог использовать несколько элементов, выбранных в ListPicker.

Код XAML:

<toolkit:ListPicker x:Name="ListPicker1" Margin="0" Header="listpicker1" Width="422" SelectionMode="Multiple" FullModeHeader="Top Stories" SelectionChanged="ListPicker1_SelectionChanged">
                            <sys:String>abc</sys:String>
                            <sys:String>def</sys:String>
                            <sys:String>ghi</sys:String>
                            <sys:String>jkl</sys:String>
                        </toolkit:ListPicker>

C # код

private void ListPicker1_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
        {
            foreach (ListPicker item in ListPicker1.Items)
            {
                if (item.ToString() == "abc")
                {
                    MessageBox.Show(item.ToString());
                }
            }
        }

Я хочу, чтобы выбранные элементы списка выбирались как строки.

Я также столкнулся с другой проблемой, когда выбрано событие выбора списка при загрузке страницы.

1 Ответ

0 голосов
/ 05 декабря 2011

Вы должны использовать свойство SelectedItems, чтобы получить выбранные элементы в списке:

    private void ListPicker1_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        foreach (ListPicker item in ListPicker1.SelectedItems)
        {
             MessageBox.Show(item.ToString());
        }
    }

Кроме того, взгляните на класс SelectionChangedEventArgs , он содержит элементы, которыебыли выбраны или отменены в текущем событии выбора.

...