2013-12-22 2 views
2

Мне интересно, как я могу получить «выбранный» элемент в режиме ожидания на сгруппированном longlistselector в WindowsPhone 8 в C#.Как получить элемент события hold из Grouped LongListSelector?

Я уже читал, например. следующие Hold Event Longlistselector

Но это, похоже, не с сгруппировано Longlistselector.

Из-за группировки DataContext моего LongListSelector представляет собой список списков отображаемых элементов. Можно ли каким-либо образом получить доступ к элементу, на котором произошло событие удержания?

(Или я неправильно при заполнении сгруппированных LongListSelector?)

ответ

1

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

private void LLST_Hold(object sender, System.Windows.Input.GestureEventArgs e) 
{ 
    if (LLST.SelectedItem != null) 
    { 
     ItemType item = LLST.SelectedItem as ItemType; 
     // do some stuff 
    } 
} 

Если это не работает, может быть, вы можете еще немного кода.

EDIT

Следует также отметить, что событие удержания не выбирает его (это может быть, почему это не работает в вашем коде, как вы ожидаете). Проверьте, работает ли удержание после выбора элемента с первым нажатием. Вы можете прочитать еще here.

+0

Спасибо за ответ. К сожалению, в моем случае (я думаю, что это должно быть общее поведение ?!) элемент выбирается только по событию tap/click, а не на удержании. Поэтому мой SelectedItem всегда имеет значение null. Когда я вернусь домой, я обновлю свой вопрос еще одним кодом позже. – malte

+0

@malte Я обновил свой ответ, возможно, это поможет немного больше. – Romasz

+0

Блестящий! e.OriginalSource (связанный в вашем «дальнейшем чтении») был для меня ключом. Приятно знать, что он возвращает элемент, который находится наверху (прямо под вашим пальцем) :) – malte