2015-05-29 108 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