Чтобы реализовать обработку события выбора элемента в `ListView` и при нажатии на элемент списка вставлять значение определенного поля выбранного экземпляра класса в `TextBox`, необходимо выполнить несколько шагов.
### Шаг 1: Определите ваши модели
Предположим, у вас есть класс, который вы хотите использовать в `ListView`. Например, класс `Person`:
```csharp
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
```
### Шаг 2: Создайте коллекцию объектов
Нужно создать коллекцию объектов, которые вы будете отображать в `ListView`. Это можно сделать в вашем представлении (ViewModel):
```csharp
using System.Collections.ObjectModel;
public class MainViewModel
{
public ObservableCollection<Person> People { get; set; }
public MainViewModel()
{
People = new ObservableCollection<Person>
{
new Person { Name = "Alice", Age = 30 },
new Person { Name = "Bob", Age = 25 },
new Person { Name = "Charlie", Age = 35 }
};
}
}
```
### Шаг 3: Настройте XAML
Создайте разметку для `ListView` и `TextBox` в вашем XAML-файле:
```xml
<Window x:Class="YourNamespace.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="ListView Example" Height="300" Width="400">
<Grid>
<ListView x:Name="PeopleListView" SelectionChanged="PeopleListView_SelectionChanged">
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
<TextBox x:Name="SelectedPersonTextBox" Margin="0,150,0,0" />
</Grid>
</Window>
```
### Шаг 4: Свяжите данные в коде
В коде `MainWindow.xaml.cs` вам нужно привязать коллекцию людей к `ListView` и добавить обработчик события выбора элемента:
```csharp
using System.Windows;
namespace YourNamespace
{
public partial class MainWindow : Window
{
public MainViewModel ViewModel { get; set; }
public MainWindow()
{
InitializeComponent();
ViewModel = new MainViewModel();
PeopleListView.ItemsSource = ViewModel.People;
}
private void PeopleListView_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
{
if (PeopleListView.SelectedItem is Person selectedPerson)
{
SelectedPersonTextBox.Text = selectedPerson.Name; // Или любое другое свойство
}
}
}
}
```
### Результат
Теперь, когда вы выбираете элемент из `ListView`, имя выбранного человека будет отображаться в `TextBox`. Вы можете изменить строку `SelectedPersonTextBox.Text = selectedPerson.Name;` на любое другое свойство, если вам нужно, чтобы отображалось что-то другое (например, возраст).
### Примечание
Не забудьте добавить необходимые пространства имен и настроить ваш проект в соответствии с вашими потребностями.