头大大
if (HeightDots == null)
{
HeightDots = new MeasureData[2] {new MeasureData( 0.1f, 0.2f, 0.3f), new MeasureData(5f, 6f, 7f) };
}
好呗
这个... height dots是这样的 因为下面看了 不必要在null那里就复制
然后 heightdots 那里 就新的复制了
不能直接给[1] [2] 因为它是null
也不能直接set 因为它是null
那么就这样吧 有两个那就赋值两个 然后
直接给(0.1f 0.2f ) 也不行 提示不能直接转化
可是measuredata本来就只有x y z 啊 那怎么还不行 好吧 发现要new一个一样的类型才可以了
附上原来的代码
public MeasureData[] HeightDots
{
get { return (MeasureData[])GetValue(HeightDotsProperty); }
set { SetValue(HeightDotsProperty, value); }
}
public static readonly DependencyProperty HeightDotsProperty =
DependencyProperty.Register("HeightDots", // 依赖属性名称
typeof(MeasureData[]),// 属性类型 好的 显然这是 三个float
typeof(IsoHeightCtrl),// 属性所有者 嗯嗯... 这个算是主类吧x
new PropertyMetadata(null, // 属性的默认值 果然 null 是不行的
(s, e) =>
{
IsoHeightCtrl ihc = s as IsoHeightCtrl;
ihc.Draw();
}));
public struct MeasureData
{
public MeasureData(float x, float y, float z)
{
X = x;
Y = y;
Z = z;
}
public float X;
public float Y;
public float Z;
}
c# 里 还有一个 叫依赖属性
依赖属性就是一种自己可以没有值,并且可以通过绑定从其他数据源获取值。依赖属性可支持WPF中的样式设置、数据绑定、继承、动画及默认值。见 (留下了感动的泪水https://www.cnblogs.com/dotnet261010/p/6286475.html