listPicker не обновляет выделение в полном режиме - PullRequest
2 голосов
/ 05 марта 2012

кто-нибудь знает об ошибке в списке выбора, которая не позволяет ему изменять выбранные элементы, когда режим расширения установлен только в полный режим.По какой-то причине он всегда возвращается к выбранному элементу по умолчанию.

Ответы [ 2 ]

6 голосов
/ 29 августа 2012

Я предполагаю, что в вашем Page_Loaded есть некоторый код, который заполняет и / или устанавливает SelectedIndex для ListPicker.

Вам необходимо убедиться, что вы устанавливаете значение только при входе на страницу.

    private void PhoneApplicationPage_Loaded(object sender, EventArgs e)
    {


        DataContext = App.ViewModel.something;
        if (MyListPicker.SelectedIndex == -1)
        {
            MyListPicker.ItemsSource   = App.ViewModel.SomeList;
            MyListPicker.SelectedIndex = App.ViewModel.MyBinding;
        }
    }

Вы также можете игнорировать изменения выбора при запуске (которые могут срабатывать несколько раз при загрузке и связывании на странице) и перехватывать только инициированные пользователем изменения.

    private void MyListPicker_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        if (e.RemovedItems != null && e.RemovedItems.Count > 0)
        {
            if (this.MyListPicker.SelectedItem != null)
            {              
                // Do something
            }
        }  
    }
0 голосов
/ 28 ноября 2013

Большое вам спасибо 123Tax.Если для индекса изменения списка выбрать значение -1 в конце события изменения выбора, он не сможет вызвать его дважды.Например, вот код:

private void MyListPicker_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
   if (e.RemovedItems != null && e.RemovedItems.Count > 0)
    {
        if (this.MyListPicker.SelectedItem != null)
        {              
            // Do something
        }
       MyListPicker.SelectedIndex = -1;
    }  
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...