Найти конкретный элемент listview в xaml?
Скажем, у меня есть listview.
<ListView Margin="10" Name="lvUsers" ItemsSource="{Binding People}"> <ListView.View> <GridView> <GridViewColumn Header="Name" Width="120" DisplayMemberBinding="{Binding Name}" /> <GridViewColumn Header="Age" Width="50" DisplayMemberBinding="{Binding Age}" /> <GridViewColumn Header="Mail" Width="150" DisplayMemberBinding="{Binding Mail}" /> </GridView> </ListView.View> </ListView>
В Модель Представления
public ObservableCollection<Person> People { get; set; } public ListView() { InitializeComponent(); this.People = new ObservableCollection<Person>(); this.People.Add(new Person() { Name = "John Doe", Age = 42, Mail = "john@doe-family.com" }); this.People.Add(new Person() { Name = "Jane Doe", Age = 39, Mail = "jane@doe-family.com" }); this.People.Add(new Person() { Name = "Sammy Doe", Age = 7, Mail = "sammy.doe@gmail.com" }); }
Это всего лишь демонстрация. В моем реальном коде у меня есть расширители слева от элементов. Я пропускаю его, так как это код длины. Теперь я хочу добавить controltemplate или кнопку что-то еще. Вызовите его, чтобы найти конкретный элемент для его расширения. Я знаю, что это может быть легко сделать в коде позади, если вы используете этот или этот.
Но можем ли мы сделать это в xaml? Я имею в виду добавить событие или вызвать что-то в controltemplate?
Что я уже пробовал:
Не знаю, как это сделать, нужен код.
Kenneth Haugland
Использовать IValueConverter и привязать его к расширителю и критериям поиска?
Graeme_Grant
Использовать CollectionViewSource
и применить фильтр. Вы также можете сгруппироваться: [^]
ОБНОВЛЕНИЕ: "Теперь я хочу добавить панель управления или кнопку что-то. Вызовите его, чтобы найти конкретный элемент для его расширения. Я знаю, что это может быть легко сделать в коде позади, если вы используете это или это."
- Да, можешь. Я вижу, что вы привязываетесь к кодовой странице, а не к MVVM. Поэтому создайте общее событие щелчка кнопки в коде, прикрепите шаблон данных к вашим ресурсам xaml, поместите кнопку в шаблон и свяжите событие щелчка в xaml с методом в вашем коде позади. Теперь отправитель в код, метод, событие-это элемент из списка.