Silverlight 为什么Datagrid会出现这种情况?

Silverlight 为什么Datagrid会出现这种情况?,silverlight,silverlight-4.0,datagrid,border,datagridtemplatecolumn,Silverlight,Silverlight 4.0,Datagrid,Border,Datagridtemplatecolumn,我有一个Silverlight应用程序(VS2010中的Silverlight 4),其中有一个datagrid。我想为datagrid行设置边界。因此,在中,我写了以下内容: <Border BorderBrush="Black" BorderThickness="1"></Border> 这起作用了。现在我只想在底部和右侧绘制边界,我这样做了: <Border BorderBrush="Black"> <Border.BorderThick

我有一个Silverlight应用程序(VS2010中的Silverlight 4),其中有一个datagrid。我想为datagrid行设置边界。因此,在
中,我写了以下内容:

<Border BorderBrush="Black" BorderThickness="1"></Border>

这起作用了。现在我只想在底部和右侧绘制边界,我这样做了:

<Border BorderBrush="Black">
  <Border.BorderThickness>
    <Thickness Bottom="1" Left="0" Top="0" Right="1"/>
  </Border.BorderThickness>
</Border>

但这会引发XAML解析错误-无法设置只读属性Bottom

为什么会发生这种情况?有没有其他方法可以做到这一点?


<Border BorderBrush="Black" BorderThickness="0,0,1,1" />

我知道,这很奇怪。我在这里发现了这样一条信息,说明它在Silverlight中的某些结构中不起作用(尽管它适用于WPF中的所有结构):在某些结构中,不能使用属性语法设置结构的值。存在此问题的结构包括拐角半径、网格长度、矩形、大小、厚度和颜色。相反,矩阵和点结构可以使用属性设置值。(这个问题是Silverlight特有的;WPF支持结构的附加XAML表单。)“谢谢。我希望这里能解释一下这种行为:“厚度是一种值类型,而不是一个类,不能在XAML中设置它的属性“嗯,MS说有些结构可以这样设置,但我想Silverlight的一般规则是——你不能。我希望他们能让它更兼容WPF。。。