2011-03-29 54 views
6

我期待在我的DataGrid中添加一个细小的(10x10)矩形作为单元格。我已经把它设置在对象中,我只是想找到一种方法将它从代码中提取到我的DataGrid中。在DataGrid单元格中添加一个小的彩色矩形

这是我的DataGrid XAML:

<DataGrid Name="dataGrid1" Grid.Row="2" AutoGenerateColumns="False" DataContext="{Binding}" HeadersVisibility="Column" 
       HorizontalGridLinesBrush="#ccc" VerticalGridLinesBrush="#ccc" VirtualizingStackPanel.VirtualizationMode="Standard" Background="#FFF6F6F6" CanUserAddRows="False"> 
     <DataGrid.Resources> 
      <ResourceDictionary Source="Pages/DataGridStyle.xaml" /> 
     </DataGrid.Resources> 
     <DataGrid.Columns> 
      <!-- In here I would like a datagrid cell that is just a 10x10 box which uses {Binding Path=TemplateCellColour} (templatecellcolour is stored as a brush, is this an issue? --> 
      <DataGridTextColumn ElementStyle="{StaticResource CenterTextCell}" Width="0.5*" Binding="{Binding Path=TemplateCellID}" Header="ID"></DataGridTextColumn> 
      <DataGridTextColumn ElementStyle="{StaticResource CenterTextCell}" Width="1*" Binding="{Binding Path=CellWidth}" Header="Width"></DataGridTextColumn> 
      <DataGridTextColumn ElementStyle="{StaticResource CenterTextCell}" Width="1*" Binding="{Binding Path=CellHeight}" Header="Height"></DataGridTextColumn> 
      <DataGridTextColumn ElementStyle="{StaticResource CenterTextCell}" Width="1*" Binding="{Binding Path=CellTop}" Header="Top"></DataGridTextColumn> 
      <DataGridTextColumn ElementStyle="{StaticResource CenterTextCell}" Width="1*" Binding="{Binding Path=CellLeft}" Header="Left"></DataGridTextColumn> 
     </DataGrid.Columns> 
</DataGrid> 

请参阅意见,我想要的东西更容易理解。

回答

5

DataGridTextColumn替换为DataGridTemplateColumn。事情是这样的:

<DataGridTemplateColumn > 
    <DataGridTemplateColumn.CellTemplate> 
     <DataTemplate> 
      <Rectangle Width="10" Height="10" Fill="{Binding TemplateCellColour}" /> 
     </DataTemplate> 
    </DataGridTemplateColumn.CellTemplate> 
</DataGridTemplateColumn> 

是的,TemplateCellColour应该是一个Brush,这是正确的。

+0

工作完美,不得不将“背景”更改为“填充”,但都表现良好。干杯。 – Prisoner 2011-03-29 15:33:27

+0

@prisoner,很酷,用你的评论更新了答案。从记事本发布代码有一些副作用:) – Snowbear 2011-03-29 15:36:26

相关问题