У меня есть два DataGrids. EmployeeGrid и WorkSessionsGrid. У каждого сотрудника есть список WorkSessions, к которому я хочу получить доступ, выбрав пункт в EmployeeGrid, который должен заставить WorkSessionsGrid генерировать WorkSessions для выбранного Сотрудника. Почему следующее неверно?Связывание datagrid с выбранным элементом другого datagrid
<DataGrid Name="dg_2" ItemsSource="{Binding ElementName=dg_1, Path=SelectedItem.WorkSessions}"/>
Update Я пришел к выводу, что проблема должна быть в одном из других слоев. Вот оставшаяся часть моего кода, надеюсь, кто-то способен помочь мне. Есть ли что-то принципиально, что мне не хватает?
Code-Behind XAML
public partial class MainWindow : Window
{
public EmployeeViewModel EmployeeViewModel = new EmployeeViewModel();
public MainWindow()
{
InitializeComponent();
menu_employee.DataContext = EmployeeViewModel;
sp_employee.DataContext = EmployeeViewModel;
datagrid_employees.ItemsSource = EmployeeViewModel.EmployeesView;
sp_worksessions.DataContext = EmployeeViewModel.SelectedEmployee.WorkSessions;
menu_worksession.DataContext = EmployeeViewModel.SelectedEmployee.WorkSessions;
datagrid_worksessions.ItemsSource = EmployeeViewModel.SelectedEmployee.WorkSessions;
}
}
WorkSessionViewModel
class WorkSessionViewModel : ViewModelBase
{
private WorkSessions _workSessionsModel = new WorkSessions();
public WorkSessions WorkSessionsView = new WorkSessions();
private WorkSessionModel _selectedWorkSession = new WorkSessionModel();
public WorkSessionModel SelectedWorkSession
...
WorkSessionModel
[Serializable]
public class WorkSessions : ObservableCollection<WorkSessionModel>
{
public WorkSessions()
{
}
}
[Serializable]
public class WorkSessionModel : INotifyPropertyChanged
{
private DateTime _dateTime;
private string _id;
private double _hours;
public WorkSessionModel()
{
}
Неправильно вы подразумеваете, что это не работает? –
Да, это не работает. Я думаю, что моя ошибка заключается в моем EmployeeViewModel. Правильно ли это, что моя Viewmodel имеет public ObservableCollection WorkSessions {get; задавать; }? –
CodePrimate
@litemode: извините за очень поздний ответ. Я столкнулся с похожим вопросом .. Неужели вы все-таки решили эту проблему? любезно ответ. – user1221765