WPF 数据绑定与继承 - 绑定到 属性 of base

WPF Data Binding vs. Inheritance - Bind to property of base

我有以下设置。

基地class

public class ToolPathBaseItem
{
    private double _x, _y, _z;

    public double X
    {
        get { return _x; }
        set { _x = value; }
    }

    public double Y
    {
        get { return _y; }
        set { _y = value; }
    }
    public double Z
    {
        get { return _z; }
        set { _z = value; }
    }

    public ToolPathBaseItem(double x, double y, double z)
    {
        _x = x;
        _y = y;
        _z = z;
    }
}

还有几个class喜欢

public class CWToolPathItem : ToolPathBaseItem
{
    private double _nx, _ny, _nz;

    public CWToolPathItem(double x, double y, double z, double nx, double ny, double nz, CWCLRecord record)
        : base(x, y, z)
    {
        _nx = nx;
        _ny = ny;
        _nz = nz;
    }

    public double Nx
    {
        get { return _nx; }
        set { _nx = value; }
    }

    public double Ny
    {
        get { return _ny; }
        set { _ny = value; }
    }

    public double Nz
    {
        get { return _nz; }
        set { _nz = value; }
    }
}

会有更多 class 扩展 "ToolPathBaseItem" 并且可能具有相同的 属性 名称,例如 "Nx, Ny,..."。

我有一个 DataGrid,它的 ItemsSource 绑定到

ObservableList<CWToolPathItem>

第一个问题是: 我怎样才能绑定

<DataGridTextColumn Header="X" Binding="{Binding HERETHEBINDING, StringFormat=N3}"/>

到CWToolPathItem的X-属性,因为X-属性定义在基class.

第二个问题是: 如果我有多个 class 具有相同名称的属性。我如何决定应该使用哪个 class?

我希望我已经充分描述了我的问题。预先感谢您的帮助。

可以直接绑定Base class 属性

<DataGridTextColumn Header="X" Binding="{Binding X, StringFormat=N3}"/>