Domanda

Le etichette nell'esempio seguente (WPF / XAML) sfilano appena dallo schermo, non si verificano avvolgimenti. La rimozione dell'orientamento funziona, ma non fornisce la funzionalità / aspetto & amp; sentire. Qualche idea su come fare in modo che WrapPanel si adatti alle dimensioni correnti di StackPanel ?

<Window Height="300" Width="600">
    <StackPanel Orientation="Horizontal">
        <WrapPanel>
            <Label Height="28" Name="label1" Width="120">First Name</Label>
            <Label Height="28" Name="label2" Width="120">John</Label>
            <Label Height="28" Name="label3" Width="120">Last Name</Label>
            <Label Height="28" Name="label4" Width="120">Smith</Label>
            <!-- ...more labels!... -->
        </WrapPanel>
        <!-- ...other controls/panels... -->
    </StackPanel>
</Window>
È stato utile?

Soluzione

Puoi associare il WrapPanel MaxWidth al StackPanel ActualWidth .

Altri suggerimenti

Quello che stai facendo non è possibile a causa dell'algoritmo che StackPanel utilizza quando si esegue il layout orizzontale. Fondamentalmente chiederà a ciascun elemento figlio quanto grande vuole essere e per quanto spazio richiede per darlo.

O dovresti:

  1. Imposta un Width o MaxWidth su WrapPanel .
  2. Usa un WrapPanel come pannello esterno al posto di StackPanel .
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top