Domanda

Ho il seguente XAML per un controllo degli elementi del database per mostrare un elenco di gruppi, con un'etichetta e un pulsante per aggiungere un nuovo gruppo che appare per primo:

<WrapPanel Orientation="Horizontal">
    <Label Content="Groups" />
    <Button x:Name="btnGroupAdd" Click="btnGroupAdd_Click" Content="+" />
    <ItemsControl ItemsSource="{Binding}" x:Name="_groupList" >
        <ItemsControl.ItemsPanel>
            <ItemsPanelTemplate>
                <WrapPanel Orientation="Horizontal">
                </WrapPanel>
            </ItemsPanelTemplate>
        </ItemsControl.ItemsPanel>
        <ItemsControl.ItemTemplate>
            <DataTemplate>
                <Border Padding="3" BorderThickness="1">
                    <WrapPanel>
                        <CheckBox x:Name="_groupEnabled" Click="GroupEnabled_Click" IsChecked="{Binding Path=Checked}">
                            <TextBlock x:Name="_groupName" Text="{Binding Path=Group.Name}" ></TextBlock>
                        </CheckBox>
                        <Button x:Name="_deleteGroup" FontStyle="Normal" Click="DeleteGroup_Click" />
                    </WrapPanel>
                </Border>
            </DataTemplate>
        </ItemsControl.ItemTemplate>
    </ItemsControl>

Con un piccolo numero di gruppi, tutto appare su una riga.

  

Gruppi + Gruppo1 Gruppo2 Gruppo3

Quando aggiungo altri gruppi, il pannello di avvolgimento contenente gli articoli si avvolge, ma l'etichetta e il pulsante iniziali per aggiungere un nuovo gruppo si trovano sulla propria riga, con i gruppi di database che iniziano sulla riga successiva.

  

Gruppi +
  Gruppo1 Gruppo2 Gruppo3 Gruppo4
  Group5

Posso capire perché questo sta accadendo, poiché i pannelli di avvolgimento sono nidificati. La mia domanda è: come posso includere la prima etichetta e il pulsante nel pannello di avvolgimento interno in modo che non siano in fila da soli?

  

Gruppi + Gruppo1 Gruppo2 Gruppo3
  Gruppo4 Gruppo5

È stato utile?

Soluzione

Se sei soddisfatto di questo:

  

Gruppi + Gruppo1 Gruppo2 Gruppo3
  & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Group4 Group5

Quindi suggerirei di usare un Grid esterno e un WrapPanel interno. Altrimenti, le tue opzioni sono:

  1. Includi gli altri controlli ( Etichetta e Button ) o un modello di vista che riprende i controlli nella collezione a cui sei vincolante.
  2. Scrivi il tuo pannello .
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top