Есть DataGrid и в его RowDetailsTemplate еще один DataGrid
<DataGrid
AutoGenerateColumns="False"
ItemsSource="{Binding VerstatOperators}"
SelectedItem="{Binding SelectedVerstatOperator}">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding FullName}" Header="ПИБ" />
</DataGrid.Columns>
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<DataGrid
AutoGenerateColumns="False"
ItemsSource="{Binding Marks}"
SelectedItem="{Binding SelectedMark}">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Time}" Header="Время, мин" />
</DataGrid.Columns>
</DataGrid>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
</DataGrid>
Его ViewModel
private IEnumerable<VerstatOperator> verstatOperators;
public IEnumerable<VerstatOperator> VerstatOperators
{
get { return verstatOperators; }
set
{
verstatOperators = value;
OnPropertyChanged("VerstatOperators");
}
}
private VerstatOperator selectedVerstatOperator;
public VerstatOperator SelectedVerstatOperator
{
get { return selectedVerstatOperator; }
set
{
selectedVerstatOperator = value;
try
{
Marks = db.Marks.Where(x =>
x.IdVerstatOperator == SelectedVerstatOperator.IdVerstatOperator).ToList();
}
catch { }
OnPropertyChanged("SelectedVerstatOperator");
}
}
private List<Mark> marks;
public List<Mark> Marks
{
get { return marks; }
set
{
marks = value;
OnPropertyChanged("Marks");
}
}
private Mark selectedMark;
public Mark SelectedMark
{
get { return selectedMark; }
set
{
selectedMark = value;
OnPropertyChanged("SelectedMark");
}
}
Все работает кроме SelectedMark, выбирая любую строку из грида в деталях он просто не содержит объекта и всегда остаеться null.
Я так понимаю из-за вложенности этот грид имеет какое-то ограничение, как все-таки отлавливать выбранный элемент по MVVM канону
Решил проблему таким способом
SelectedItem="{Binding Path=DataContext.SelectedMark, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}"
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Подскажите пожалуйста, как эту часть кода заменить, что бы список слов не вписывать ручками в коде, а записывались бы в список из файлаtxt
Доброго времени сутокДелаю лабораторную работу по программированию (вопрос не о методе решения) и возникла проблема с консолью
Как можно при помощи momentjs определить следующие 6 месяцев? Например, сегодня 12 месяц по счёту и я бы хотел на выходе получить массив: