c# - 将数据网格绑定(bind)到另一个数据网格的选定项

标签 c# wpf data-binding mvvm

我有两个 DataGrid。 EmployeeGrid 和 WorkSessionsGrid。每个员工都有一个 WorkSessions 列表,我希望用户通过在 EmployeeGrid 中选择一个项目来访问,这应该使 WorkSessionsGrid 为所选员工生成 WorkSessions。为什么以下不正确?

<DataGrid Name="dg_2" ItemsSource="{Binding ElementName=dg_1, Path=SelectedItem.WorkSessions}"/>

更新 我得出的结论是,问题必须出在其他层之一。 这是我的代码的其余部分,希望有人能够帮助我。 我从根本上缺少什么吗?

代码隐藏 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
...

工作 session 模型

[Serializable]
public class WorkSessions : ObservableCollection<WorkSessionModel>
{
    public WorkSessions()
    {

    }
}
[Serializable]
public class WorkSessionModel : INotifyPropertyChanged
{
    private DateTime _dateTime;
    private string _id;
    private double _hours;
    public WorkSessionModel()
    {
    }

最佳答案

改为尝试绑定(bind)到元素。

<DataGrid Content="{Binding ElementName=ListOfEmp, Path=SelectedItem.Name}" DataContext="{Binding}" />

关于c# - 将数据网格绑定(bind)到另一个数据网格的选定项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8702475/

相关文章:

c# - 如何以编程方式将 ListBox.Tooltip 绑定(bind)到 DataTable?

c# - 使用 asp.net 表单例份验证的用户模拟

c# - 接收 : Difference between CurrentThreadScheduler and ImmediateScheduler

c# - WPF 文本框 TAB 空格

c# - 如何在 UWP 等 WPF 应用程序中使用连接动画

ios - RxSwift - 类属性的绑定(bind)

WPF MenuItem 标题和 HeaderTemplate

c# - 一次删除数据表所有行的快速方法

c# - XAML/WPF 中的列表框项布局

java - 数据绑定(bind) "error: cannot find symbol class Models"