WPF数据绑定vs.继承-绑定到基的属性
本文关键字:属性 绑定 数据绑定 vs 继承 WPF | 更新日期: 2023-09-27 17:51:04
设置如下:
基类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",并且可能会有相同的PropertyNames,如"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}"/>