Question

Comment puis-je modifier l'espacement entre les champs dans un DataForm dans Silverlight?

Je l'ai essayé de modifier le modèle mais ne peut pas trouver ce que je dois. Je pensais que tout ce que je devais faire était de changer le MinHeight et Margin du style DataField, mais cela ne semble pas le faire.

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

Je l'ai trouvé un certain nombre d'articles sur DataForm de style, mais beaucoup d'entre eux semblent être à jour. Je ne vois rien dans le modèle extrait complet dans le mélange qui correspond à l'espacement.

Était-ce utile?

La solution

Et bien changer la marge sur le style ne change l'espacement.

Je suppose que vous allez le style ci-dessus dans une ressource et nous attendons à appliquer implicitement à toutes les instances de DataField. Silverlight 3 ne prend pas en charge pour les styles implicites (la boîte à outils a des propriétés attachées qui peuvent fournir une semblence de styles implicites cependant).

Vous avez besoin de faire référence à ce style de la 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}" />
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top