【发布时间】:2010-09-16 05:50:41
【问题描述】:
我在一个简单的 Silverlight 页面中运行了以下示例:
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 现已推出,值得一试。
-
谢谢约翰。根据microsoft.com/silverlight/resources/install.aspx,我安装了最新版本的 Silverlight 2.0 [Silverlight 2 Beta 2 GDR 1 (2.0.30523.8)]
标签: .net silverlight silverlight-2.0