頭大大
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