Код: Выделить всё
public class DataGridViewsModel
{
public string? Title { get; set; }
public DataTable Items { get; set; }
}
private ObservableCollection? _dataGridViews;
public ObservableCollection? DataGridViews
{
get { return _dataGridViews; }
set
{
_dataGridViews = value;
NotifyOfPropertyChange(() => DataGridViews);
}
}
Это нормально, но я не могу понять, как найти выбранную строку или выбранный индекс и т. д. Используя живое дерево, конкретная сетка данных показывает правильный выбранный индекс, но не привязывается обратно к viewmodel.
Вот код:
Код: Выделить всё
Use Selected
Код: Выделить всё
public class CompareSimilarDataViewModel : Screen
{
private int _selectedIndex;
private ObservableCollection? _dataGridViews;
public CompareSimilarDataViewModel(ObservableCollection? grids)
{
_dataGridViews = grids;
}
public ObservableCollection? DataGridViews
{
get { return _dataGridViews; }
set
{
_dataGridViews = value;
NotifyOfPropertyChange(() => DataGridViews);
}
}
public int SelectedIndex
{
get { return _selectedIndex; }
set
{
_selectedIndex = value;
NotifyOfPropertyChange(nameof(SelectedIndexNumber));
}
}
#region Commands
public void btnAcceptDB(DataGridViewsModel item)
{
}
Один из способов, который, по моему мнению, мог бы сработать, — это передать индекс выбранной строки как часть вызова кнопки — элемент XXX:
Код: Выделить всё
cal:Message.Attach="[Event Click]=[btnAcceptDB($dataContext, XXX)]"
Подробнее здесь: https://stackoverflow.com/questions/797 ... e-collecti