造成System.ArgumentException我已經得到了下面的例子在一個簡單的Silverlight網頁運行:延遲初始化在Silverlight 2.0測試版
public Page()
{
InitializeComponent();
InitializeOther();
}
private DoubleCollection dashes;
public DoubleCollection Dashes
{
get
{
//dashes = new DoubleCollection(); //works ok
//dashes.Add(2.0);
//dashes.Add(2.0);
if (dashes == null)
{
dashes = new DoubleCollection(); //causes exception
dashes.Add(2.0);
dashes.Add(2.0);
}
return dashes;
}
set
{
dashes = value;
}
}
private void InitializeOther()
{
Line line;
for (int i = 0; i < 10; i++)
{
line = new Line();
line.Stroke = new SolidColorBrush(Colors.Blue);
line.StrokeDashArray = Dashes; //exception thrown here
line.X1 = 10;
line.Y2 = 10;
line.X2 = 400;
line.Y2 = 10 + (i * 40);
canvas1.Children.Add(line);
}
}
上面的代碼拋出上標線System.ArgumentException。該例中也標出了該問題的一個解決方案。
有沒有人知道這個問題是否與屬性System.Windows.Shapes.Shape.StrokeDashArray是一個依賴屬性有關?
非常感謝任何提示!
發佈候選1現在可用可能值得嘗試。 – John 2008-10-09 11:15:46
謝謝約翰。根據http://www.microsoft.com/silverlight/resources/install.aspx我安裝了最新版本的Silverlight 2.0 [Silverlight 2 Beta 2 GDR 1(2.0.30523.8)] – 2008-10-09 13:41:46