Windows Phone 7 кнопка в длинном списке - PullRequest
1 голос
/ 23 марта 2011

Я где-то читал, что longlistselector из набора инструментов лучше по производительности, чем существующий список. Итак, я изменил список на longlistselector. Теперь у меня есть элемент управления изображения кнопки, чтобы сохранить в longlistselector (который действует как флажок). Когда я нажимаю на кнопку, событие выбора измененного списка запускается вместе с нажатием кнопки. Кнопка в списке работает нормально, как и ожидалось, но не в longlistselector. Как я могу остановить изменение списка выбора события? Я много искал по этому вопросу, но не смог найти ничего полезного. Прежде всего это возможно?

Ответы [ 3 ]

1 голос
/ 23 марта 2011

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

0 голосов
/ 17 августа 2014

Измените ClickMode на Press в XAML

ClickMode="Press" 

и внутри вас сделайте обработчик события Click (YourListName) .SelectedItem = null;

    private void deleteButton_Click(object sender, RoutedEventArgs e)
    {
        MainLongListSelector.SelectedItem = null;

        ..
    }
0 голосов
/ 23 марта 2013

При нажатии кнопки запускается обработчик события кнопки, и когда элемент в селекторе длинного списка изменяется, запускается соответствующее событие изменения выбора, ЕСЛИ оно также зарегистрировано. Но кнопка нажимается на тот же выбранный элемент, срабатывает только обработчик события кнопки. Я предлагаю иметь только обработчик события кнопки и получить из него выбранный элемент.

private void ButtonEvent_Click(object sender, RoutedEventArgs e)
{
      HoldingClass clicked=((sender as Button).DataContext as HoldingClass);
      //Do something with the HoldingClass as this is the binding element to the long list       selector
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...