如何通过基于xml的数据绑定访问导航属性

本文关键字:数据绑定 访问 导航 属性 xml 何通过 | 更新日期: 2023-09-27 18:14:21

我正在尝试学习WPF和MVVM,目前正在与一些数据绑定作斗争。我有一个包含可观察项目集合的ComboBox和一个绑定到ComboBox的SelectedItem并显示EmployeeID值的TextBox。如果可能的话,我想通过导航属性显示与EmployeeID值对应的员工名,但不确定如何修改XAML来实现这一点。

public class Project
{
    public int ProjectID;
    public string ProjectName;
    public int EmployeeID;
    public Employee Emp;
}
public class Employee
{
    public int EmployeeID;
    public string EmployeeName;        
}

MainView XAML

<ComboBox x:Name="cbxProjects" Width="75" Height="20" 
          ItemsSource="{Binding Projects}"                      
          SelectedValue="{Binding Path=SelectedProject}"
          DisplayMemberPath="ProjectName" />
<TextBox x:Name="tbxEmployee" Height ="20" Width="100" BorderThickness="1"
         Text="{Binding Path=SelectedProject.EmployeeID}"/>

MainViewModel

private ObservableCollection<Project> _projects;
private Project _selectedProject;
public ObservableCollection<Project> Projects
{
    get { { return _projects; } }                                        
}
public Project SelectedProject
{
    get { return _selectedProject; }
    set
    {
        if (_selectedProject != value)
        {
            _selectedProject = value;
            NotifyPropertyChanged("SelectedProject");                    
        }
    }
}

如何通过基于xml的数据绑定访问导航属性

难道你不直接绑定到Path=SelectedProject.Emp.EmployeetName吗?