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.

È stato utile?

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}" />
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top