Как обрабатывать события для ItemClick в Sublist для UWP, MVVM? - PullRequest
0 голосов
/ 06 июля 2018

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

UWP: Как поймать щелчок части представления списка из другого представления списка в модели представления вместо выделенного кода?

Однако ни одно из решений на самом деле не работает. Я проверил их, "ElementName" не может найти имя для родительского ListView.

Повторяя сценарий здесь,

Допустим, у меня есть этот скелет. [Запись в псевдокоде]

ViewModel{

   Collection< TypeT > CollectionParent{}
   RelayCommand_For_ChildList ChildItemClick; 
}

//TypeT is a model in here. 

TypeT{
    Collection<string> CollectionChild{}
}


<ListView Name="ParentListView" ItemSource="CollectionParent">

<ListView.ItemTemplate>
   <DataTemplate>
        <ListView Name="ChildListView" Command="{Binding ChildItemClick}" ItemSource="AnotherCollectionWithinTheFirstCollection">
</ListView>
   </DataTemplate>
</ListView.ItemTemplate>

</ListView>

Когда я запускаю этот код, «Binding ChildItemClick» пытается найти «ChildItemClick» внутри TypeT, а не ViewModel.

Я хочу поймать это событие внутри ViewModel. Как я могу это сделать, пожалуйста, предложите.

Спасибо, что прочитали.

1 Ответ

0 голосов
/ 22 октября 2018

Если это все еще проблема, и вы заинтересованы в ответе здесь, вы идете. Я думаю, у вас есть много вариантов здесь.

  • Как уже упоминалось, вы можете использовать SDK для поведения, и вам нужно назвать Child-ListView, чтобы вы могли связать событие SelctionChanged с командой

  • Вы можете привязать выбранный элемент к элементу вашего класса, который предоставляет список и реагирует в методе setter, но помните, что вам нужен вызов NotifyPropertyChanged

Это два простых варианта.

...