у меня есть это ListView:UWP: Как поймать щелчок части списка из другого списка в viewmodel вместо кода?
<Page
x:Class="DataBase.ControlsPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
DataContext="{Binding CustomersViewModel, Source={StaticResource ViewModelLocator}}">
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<ListView Name="HeaderList" ItemsSource="{Binding Customers}">
<ListView.ItemTemplate>
<DataTemplate>
<Grid>
<Border Background="Bisque">
<TextBlock Text="{Binding Name"/>
</Border>
<ListView Name="SubItemsList" ItemsSource="{Binding Project}" ItemClick="SubItemClick">
<x:String>SubItem 1</x:String>
<x:String>SubItem 2</x:String>
<x:String>SubItem 3</x:String>
</ListView>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
<x:String>Item 1</x:String>
<x:String>Item 2</x:String>
<x:String>Item 3</x:String>
</ListView>
</Grid>
</Page>
Все, что я хочу, чтобы поймать щелчок подэлемент (ItemClick = "SubItemClick">) в моем CustomersViewModel. Это возможно? Я знаю, что для элементов списка подпозиций данные представляют собой проект, который является только моделью данных, он не содержит обработчика кликов. Но как я могу поймать щелчок в модели представления, а не в коде?
Кроме того, я загрузив картинку, чтобы визуализировать то, что я хочу:
То, что я хочу сказать, что мне нужно " ClickCommand ", чтобы существовать в CustomerViewModel и для второго ListView, ItemSource привязан к проекту не для CustomerViewModel. Поэтому мне нужно как-то отправить событие click обратно в CustomerViewModel. – mbob
@mbOB как насчет использования шаблона мессенджера MvvmLightas для совместного доступа к клику? Связаны ли ваши две модели просмотра с разными страницами? –
Клиенты - это свойство CustomerViewModel, которое связано с основным списком (пункт 1, пункт 2 и т. Д.). Каждый Клиент будет содержать список проектов, которые будут ItemSource для второго списка (SubItem 1, Subitem 2 и т. Д.). Таким образом, «Проект» больше не является моделью просмотра, это всего лишь модель данных. – mbob