列周围的Silverlight 4数据网格边框

列周围的Silverlight 4数据网格边框,silverlight,datagrid,silverlight-4.0,border,Silverlight,Datagrid,Silverlight 4.0,Border,我还没有找到在silverlight数据网格中的列周围动态添加边框的方法。以下是我的datagrid的xaml: <sdk:DataGrid x:Name="PlannedAndBookedMonthlyTable" ItemsSource="{Binding}" AutoGenerateColumns="False" Margin="5,0,5,5"> <sdk:DataGrid.Columns> <sdk:DataGridTextColumn

我还没有找到在silverlight数据网格中的列周围动态添加边框的方法。以下是我的datagrid的xaml:

<sdk:DataGrid x:Name="PlannedAndBookedMonthlyTable" ItemsSource="{Binding}" AutoGenerateColumns="False" Margin="5,0,5,5">
   <sdk:DataGrid.Columns>
      <sdk:DataGridTextColumn x:Name="MonthlyHeaderName" Header="" Binding="{Binding SeriesName}" />
      <sdk:DataGridTextColumn x:Name="MonthlyHeaderJan" Header="Jan" Binding="{Binding JanValue}" />
      <sdk:DataGridTextColumn x:Name="MonthlyHeaderFeb" Header="Feb" Binding="{Binding FebValue}" />
      <sdk:DataGridTextColumn x:Name="MonthlyHeaderMar" Header="Mar" Binding="{Binding MarValue}" />
      <sdk:DataGridTextColumn x:Name="MonthlyHeaderApr" Header="Apr" Binding="{Binding AprValue}" />
      <sdk:DataGridTextColumn x:Name="MonthlyHeaderMay" Header="May" Binding="{Binding MayValue}" />
      <sdk:DataGridTextColumn x:Name="MonthlyHeaderJun" Header="Jun" Binding="{Binding JunValue}" />
      <sdk:DataGridTextColumn x:Name="MonthlyHeaderJul" Header="Jul" Binding="{Binding JulValue}" />
      <sdk:DataGridTextColumn x:Name="MonthlyHeaderAug" Header="Aug" Binding="{Binding AugValue}" />
      <sdk:DataGridTextColumn x:Name="MonthlyHeaderSep" Header="Sep" Binding="{Binding SepValue}" />
      <sdk:DataGridTextColumn x:Name="MonthlyHeaderOct" Header="Oct" Binding="{Binding OctValue}" />
      <sdk:DataGridTextColumn x:Name="MonthlyHeaderNov" Header="Nov" Binding="{Binding NovValue}" />
      <sdk:DataGridTextColumn x:Name="MonthlyHeaderDec" Header="Dec" Binding="{Binding DecValue}" />
      <sdk:DataGridTextColumn x:Name="MonthlyHeaderTotal" Header="Total" Binding="{Binding Total}" />
   </sdk:DataGrid.Columns>
</sdk:DataGrid>

这就是我想要达到的效果:


如何根据当前日历月设置数据列的边框

数据网格中的每一行和每个单元格都是一个模板。普通的DataGrid没有单元格和当前单元格位置的概念,只有选定的行

如果您能够获得足够的位置信息,我会说您可以在DataGrid上覆盖一个边框,但调试器显示DataGrid中没有足够的信息,甚至无法计算当前选定单元格的位置

一个可能的选择 我能想到的使用DataGrid执行此操作的唯一方法是捕捉单个单元格控件(例如DataGrid中的文本框)上的焦点事件,并使用选定控件相对于父控件的位置计算边框位置。每个列都需要是一个模板列,这样您就可以连接GotFocus事件

否则。。。 …您需要尝试一种不同的控制方式,以获得所需的结果

您可以使用普通的旧网格,例如充满文本框控件,但您需要自己处理网格的选择和键盘导航


如果预算允许,我会四处寻找Silverlight的第三方电子表格控件。否则,请查看是否有人在Codeplex或其他地方构建了一个

我不得不使用一个普通的旧网格来获得想要的外观。谢谢你的意见。