Я делаю Task Manager, и при нажатии на 1 из строк в DataGrid я хочу вывести данные оттуда но я не знаю как это сделать. Вот скриншот моего Task Manager
Это кусок кода самого DataGrid
<Grid Grid.Row="1">
<DataGrid x:Name="ThreadList" SelectionChanged="ThreadList_SelectionChanged">
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{Binding ProcessName}"/>
<DataGridTextColumn Header="Process ID" Binding="{Binding Id}"/>
<DataGridTextColumn Header="Threads" Binding="{Binding Threads.Count}"/>
</DataGrid.Columns>
</DataGrid>
</Grid>
Запись всех данных в DataGrid происходит вот так
private void Tasks()
{
if(pr != null)
pr.Clear();
pr = Process.GetProcesses().ToList();
ProcessCount.Text = string.Empty;
ThreadCount.Text = string.Empty;
HandleCount.Text = string.Empty;
threadsCount = 0;
handleCount = 0;
ThreadList.Items.Clear();
ProcessCount.Text = Process.GetProcesses().Count().ToString();
for (int i = 0; i < pr.Count; i++)
{
ThreadList.Items.Add(pr[i]);
threadsCount += pr[i].Threads.Count;
handleCount += pr[i].HandleCount;
}
ThreadCount.Text = threadsCount.ToString();
HandleCount.Text = handleCount.ToString();
}
И вот как мне вывести данные строки на которую я нажал я не знаю

x:Name="ThreadList"и сделайте все на привязках. Сейчас вы вот прям совершенно все делаете не так. Вам не нужны имена, вам не нужны события, вам нужны лишьBinding. Не делайте лапшу в своем проекте в виде тесной связи UI с кодом, отвяжите их друг от друга, ведь это основа основ WPF, на котором он и базируется. Примерно такое у вас должно быть, внимание на то, что там в XAML нет ни единогоx:Nameи события! – EvgeniyZ Feb 17 '23 at 17:37INotifyPropertyChanged. Вот самый простой пример https://ru.stackoverflow.com/a/1091821/373567 Вот еще куча примеров https://ru.stackoverflow.com/search?q=user%3A373567+%5Bwpf%5D+INotifyPropertyChanged – aepot Feb 17 '23 at 17:52x:Name, и если это имя используется в C# коде не для стилей, не для UI, а как элемент работы с данными, то значит сразу что-то делается не так. Повторю, в WPF проекте должны быть максимально отделены данные от UI, у вас не должно быть в UI вообще чего либо, UI должен сам понимать что ему надо взять и когда. А у вас, как думаю вы видите (ThreadList.Items.Add(pr[i]);), все данные хранятся в UI. когда должны быть в виде простой коллекции/массива, лежащие в вашем классе, а уже потом привязываете в XAML<DataGrid ItemsSource = "{Binding Items}">, с получением аналогично. – EvgeniyZ Feb 17 '23 at 19:14