2010-03-27 16 views
1

Comment modifier l'espacement entre les champs d'un DataForm dans Silverlight?Comment modifier l'espacement entre les champs d'un DataForm?

J'ai essayé de modifier le modèle mais je ne trouve pas ce dont j'ai besoin. 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. J'ai trouvé un certain nombre d'articles sur le style DataForm mais beaucoup d'entre eux semblent être obsolètes. Je ne vois rien dans le modèle extrait complet dans Blend qui corresponde à l'espacement.

+0

Avez-vous essayé de mettre la propriété 'Margin' sur l'élément' ContentControl'? – Gabe

+0

bonne pensée - était optimiste pour une minute, mais il ne semblait pas le faire –

Répondre

2

Bien changer la marge sur le style change l'espacement.

Je vais deviner que vous avez le style ci-dessus dans une ressource et vous attendez qu'il s'applique implicitement à toutes les instances DataField. Silverlight 3 ne prend pas en charge les styles implicites (la boîte à outils possède des propriétés attachées qui peuvent fournir un semblant de styles implicites).

Vous devez 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}" /> 
+0

Je suis en fait en utilisant Silverlight 4 qui applique implicitement les styles. L'élément clé ici consistait à appliquer le style DataField au DataForm lui-même. Même si vous l'appliquez à chaque DataField dans le formulaire, il ne prend pas effet. Dès que je l'ai assigné au DataForm lui-même cela a fonctionné. Merci! –

+0

résultat! bonnes choses - exactement ce que je cherchais. –