簡體   English   中英

WPF數據綁定與繼承-綁定到基礎屬性

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

我有以下設置。

基類

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

和服務器類

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”,並且可能具有相同的PropertyName,例如“ Nx,Ny,...”。

我有一個DataGrid,ItemsSource綁定到

ObservableList<CWToolPathItem>

第一個問題是:如何綁定

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

到CWToolPathItem的X屬性,因為X屬性是在基類中定義的。

第二個問題是:如果我有幾個具有相同名稱屬性的類。 我該如何決定應使用哪個班級?

我希望我已經充分描述了我的問題。 在此先感謝您的幫助。

您可以直接綁定到基類屬性

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM