2015-05-29 97 views
0

我有以下设置。WPF数据绑定与继承 - 绑定到基地的属性

基类

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; 
    } 
} 

而且serveral的类,如

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; } 
    } 
} 

将会有更多的类延伸 “ToolPathBaseItem” 和这将有可能像“NX,NY同PropertyNames,.. “。

我有它的ItemsSource被绑定到一个

ObservableList<CWToolPathItem> 

的第一个问题是一个DataGrid: 我如何可以将绑定在

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

到CWToolPathItem的X属性,因为X-Property是在基类中定义的。

第二个问题是: 如果我有几个具有相同名称属性的类。我怎样才能决定应该使用哪个类?

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

回答

1

您可以直接与基类属性

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

感谢。这种绑定也是我的第一次尝试。我不知道为什么它不工作,但现在它工作正常。再次感谢。 – Wayn0r