代码之家  ›  专栏  ›  技术社区  ›  Simon_Weaver

如何更改数据表单中字段之间的间距?

  •  1
  • Simon_Weaver  · 技术社区  · 15 年前

    如何更改Silverlight中数据表单中字段之间的间距?

    我试过编辑模板,但找不到所需的内容。 我想我所要做的就是 MinHeight Margin DataField 风格,但似乎不行。

    <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>
    

    我发现了很多关于数据表单样式的文章,但其中许多似乎已经过时了。我在blend中的完整提取模板中看不到与间距对应的任何内容。

    1 回复  |  直到 15 年前
        1
  •  2
  •   AnthonyWJones    15 年前

    改变样式的边距会改变间距。

    我猜你在一个资源中有上面的样式,并期望它隐式地应用到所有 DataField 实例。Silverlight 3不支持隐式样式(该工具包具有一些附加属性,这些属性可以提供隐式样式的某种相似性)。

    您需要从数据表单中引用此样式:

    <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}" />
    
    推荐文章