如何格式化datagrid中DataGridTemplateColumn内的数据

时间:2010-05-17 06:42:29

标签: silverlight-4.0

这是我的xaml代码,其中我有2个字段放在一个模板列下。

现在我得到这样的输出格式,以便我可以指定这两列之间的空间

    Color

red        image1

green     image2

green     image2

white     image6

这样输出看起来不错。

如何在它们之间定义空间,使其看起来像上面那个

现在输出就像这样

    color

    Redimage1

    greenimage2

    greenimage2

    whiteimage6
<sdk:DataGridTemplateColumn  Header="Color" Width="80">
    <sdk:DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <StackPanel Loaded ="StackPanel_Loaded" Orientation="Horizontal" Background="Transparent">
                <TextBlock Text="{Binding Color}" TextWrapping="NoWrap" HorizontalAlignment="Center" Foreground="Blue"></TextBlock>
                <Image x:Name="imgTargetScore" Source ="{Binding ColorImage}" Width="20" Height="20" Stretch ="Fill"/>
            </StackPanel>
        </DataTemplate>
    </sdk:DataGridTemplateColumn.CellTemplate>
</sdk:DataGridTemplateColumn>

向前寻求解决方案

提前致谢

王子

1 个答案:

答案 0 :(得分:0)

你需要在TextBlock和/或Image控件上加一点Margin

<TextBlock Text="{Binding Color}" Margin="0,0,5,0" TextWrapping="NoWrap" HorizontalAlignment="Center" Foreground="Blue" />

此示例在TextBlock的右边缘放置5px边距。如果您希望图像垂直排列,那么您可能还希望将TextBlock设置为设置宽度,默认情况下它只与文本中的文本一样长。