Domanda

Ho un markup seguente in un controllo utente WPF:

<Border Name="_border" BorderThickness="4" BorderBrush="Blue">
    <Canvas Name="_canvas" Background="Black" >
        <DockPanel LastChildFill="True">
            <ItemsControl Name="_itemsControl" Background="Bisque" AllowDrop="True" Height="100" Width="100"
                      HorizontalAlignment="Stretch"
                      VerticalAlignment="Stretch"
                      ItemTemplate="{StaticResource pictureTemplate}"
                      ItemsPanel="{StaticResource panelTemplate}"
                      Drop="_itemsControl_Drop" 
                      DragOver="_itemsControl_DragOver" 
                      DragLeave="_itemsControl_DragLeave" 
                      PreviewMouseLeftButtonDown="_itemsControl_PreviewMouseLeftButtonDown"
                      PreviewMouseMove="_itemsControl_PreviewMouseMove">

        </ItemsControl>
             </DockPanel>
    </Canvas>
</Border>

Vorrei che ItemsControl riempisse tutto lo spazio disponibile, ma non obbedisce alla proprietà LastChildFill di DockPanel. La quotatura orizzontale e verticale &; Stira & Quot; i valori non aiutano neanche. Cosa mi sto perdendo?

È stato utile?

Soluzione

Se rimuovi completamente la tela, non avrai questo problema. Dopo aver introdotto un'area di disegno, è necessario impostare le dimensioni e la posizione degli elementi nell'area di disegno (come DockPanel).

Altri suggerimenti

Qual è la dimensione del DockPanel? Prova a impostare uno sfondo sul DockPanel per i test.

Non penso che il tuo problema sia con il tuo ItemsControl che non si estende per riempire DockPanel, ma in realtà DockPanel non si allunga per adattarsi al controllo Canvas. Il controllo della tela e i suoi figli non verranno ridimensionati per adattarsi al loro genitore.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top