Come faccio a cambiare la spaziatura tra i campi in un DataForm?
-
22-09-2019 - |
Domanda
Come faccio a cambiare la spaziatura tra i campi in un DataForm in Silverlight?
Ho provato la modifica del modello, ma non riesco a trovare quello che mi serve.
Ho pensato che tutto quello che dovevo fare era cambiare il MinHeight
e Margin
dello stile DataField
, ma che non sembra farlo.
<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>
Ho trovato un certo numero di articoli su styling DataForm ma molti di loro sembrano non essere aggiornati. Non vedo nulla nel modello estratto completo in miscela che corrisponde alla distanza.
Soluzione
Bene modificare il margine sullo stile non modificare la spaziatura.
sto andando indovinare che si ha lo stile di cui sopra in una risorsa e si aspettava da applicare implicitamente a tutte le istanze DataField
. Silverlight 3 non ha il supporto per gli stili impliciti (il toolkit ha alcune proprietà associate che possono fornire alcune semblence di stili impliciti però).
È necessario fare riferimento a questo stile dalla 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}" />