Я хочу, чтобы идентификатор отображался в строке DataGrid, а коллекция строк должна отображаться в сведениях о dow. Кроме того, мне нужно выбрать строки, скажем, удалить их. Поэтому я добавил ListBox к деталям строки.
ItemsSource и SelectedItem DataGrid работают нормально, как и ItemsSource ListBox в деталях строки. Но SelectedItem ListBox не устанавливается, когда я щелкаю элемент.
Это мой код XAML:
Код: Выделить всё
Код: Выделить всё
using System.Collections.ObjectModel;
using System.Windows;
namespace DataGridTestApp;
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
var gridVM = new GridViewModel();
for (int i = 0; i < 3; i++)
{
var entryVM = new EntryViewModel { Id = $"Id {i}" };
for (int j = 0; j < 3; j++)
entryVM.Comments.Add($"Comment {(i * 3) + j}");
gridVM.Entries.Add(entryVM);
}
dataGrid.DataContext = gridVM;
}
}
public class GridViewModel
{
public ObservableCollection Entries { get; } = [];
public EntryViewModel? SelectedEntry { get; set; }
}
public class EntryViewModel
{
public string Id { get; set; } = string.Empty;
public ObservableCollection Comments { get; } = [];
public string? SelectedComment { get; set; }
}
Подробнее здесь: https://stackoverflow.com/questions/798 ... temssource
Мобильная версия