如何更改DataForm中字段之间的间距?

时间:2010-03-27 04:18:51

标签: silverlight xaml silverlight-toolkit dataform

如何更改Silverlight中DataForm中字段之间的间距?

我尝试过编辑模板但找不到我需要的东西。 我认为我需要做的就是更改MinHeight样式的MarginDataField,但这似乎没有。

<Style TargetType="dataFormToolkit:DataField">
        <Setter Property="IsTabStop" Value="False"/>
        <Setter Property="Margin" Value="2"/>
        <Setter Property="MinHeight" Value="5"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="dataFormToolkit:DataField">
                    <ContentControl x:Name="ContentControl" Foreground="{TemplateBinding Foreground}" HorizontalContentAlignment="Stretch" IsTabStop="False" VerticalAlignment="Center"/>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

我发现了一些关于样式化DataForm的文章,但其中许多似乎已经过时了。我没有在Blend中与间距对应的完整提取模板中看到任何内容。

1 个答案:

答案 0 :(得分:2)

在样式上更改边距确实会改变间距。

我猜你在资源中拥有上述样式,并期望它隐式应用于所有DataField个实例。 Silverlight 3不支持隐式样式(该工具包具有一些附加属性,但可以提供隐式样式的一些内容)。

您需要从DataForm引用此样式: -

<Grid.Resources>
  <Style x:Key="DataFieldStyle" TargetType="dataFormToolkit:DataField">
    <Setter Property="Margin" Value="2"/>
    <Setter Property="MinHeight" Value="5"/>
  </Style>
</Grid.Resources>
<DataForm DataFieldStyle="{StaticResource DataFieldStyle}" />