Шаговый элемент управления в collectionView , как получить rowindex в xamarin?

Шаговый элемент управления в collectionView , Когда запускается событие ValueChanged , Могу ли я получить rowindex?

Мой вопрос такой же, как https://stackoverflow.com/questions/53737450/how-to-get-selected-indexpath-from-a-stepper-located-inside-a-collection-view-ce

, но это ios swift soulution. В программировании Xamarin я понятия не имею, как это сделать?


person Peter Lo    schedule 30.12.2020    source источник
comment
Делайте именно то, что говорит другое решение. При создании ячейки присвойте значение индекса свойству Tag степпера. В обработчике событий с шаговым двигателем проверьте значение этого свойства, чтобы получить значение индекса.   -  person Jason    schedule 30.12.2020
comment
Привет, Джейсон, но в программировании на Xamarin в пошаговом элементе управления нет свойства тега ~   -  person Peter Lo    schedule 30.12.2020
comment
Все элементы управления, унаследованные от UIView, имеют свойство Tag. См. документы .microsoft.com / en-us / dotnet / api /   -  person Jason    schedule 30.12.2020
comment
Возможно, это для Xamarin iOS ,, но я всегда использую общие проекты для разработки (как для iOS, так и для Android). добавить свойство Tag к шаговому элементу управления , Это действительно не может быть скомпилировано ~   -  person Peter Lo    schedule 30.12.2020
comment
Ваш вопрос не помечен как Xamarin Forms, вы не упоминаете Xamarin Forms нигде в своем вопросе, вы не включили в свой вопрос какой-либо код, который позволил бы мне сделать вывод о том, что вы делали, и вопрос, на который вы ссылаетесь, так же специально для iOS.   -  person Jason    schedule 30.12.2020
comment
Привет, Джейсон, извини за халатность ~   -  person Peter Lo    schedule 30.12.2020
comment
Я заметил это обсуждение stackoverflow.com/questions/40734792/ также имеет отношение к вопросу. Возможно, в xamarin-формах этот вопрос не может быть решен ~   -  person Peter Lo    schedule 30.12.2020
comment
Вам действительно нужно значение индекса или вам просто нужна ссылка на объект, к которому привязана ячейка?   -  person Jason    schedule 30.12.2020
comment
Может быть, MVVM сможет решить эту проблему ~ Я пытаюсь ~   -  person Peter Lo    schedule 30.12.2020


Ответы (1)


если ваш CollectionView ItemsSource - это List<Widget>, тогда каждая ячейка будет привязана к одному Widget, и вы можете ссылаться на связанный виджет в обработчике событий. Вам не нужен индекс строки, вы можете напрямую ссылаться на связанный объект

void ValueChanged(object sender, EventArgs args)
{
  var stepper = (Stepper)sender;
  var widget = (Widget)stepper.BindingContext;

  ...
}
person Jason    schedule 30.12.2020
comment
Благодаря Джейсону, этот ответ помогает решить проблему! - person Peter Lo; 30.12.2020