2017-06-09 1 views
1

In meiner Anwendung zu zeigen, ich brauche einen listbox haben am unteren Rand des Bildschirms angezeigt werden soll. Die Listbox kann nicht angezeigt werden (über einen Menüeintrag) und muss in der Größe veränderbar sein. Ich legte es in ein Gitter und benutzte einen Gittersplitter, um den Größenänderungsteil zu machen, der wie beabsichtigt funktioniert.Listbox mit Gridsplitter selbst die Größe stattdessen eine Scrollbar

Mein Problem ist, wenn keine manuelle Resize vor, einmal beginnt log im Listenfeld angezeigt werden, bedeutet dies listbox keine Scrollbar zeigen, sondern in beginnt wächst und mehr Platz in Anspruch nimmt. Sobald ich mit dem Gridsplitter eine Größenänderung triggere, funktioniert alles wie gewünscht. Was kann ich tun, um das zu stoppen?

<Grid> 
    <Grid.RowDefinitions> 
     <RowDefinition /> 
     <RowDefinition Height="Auto" /> 
     <RowDefinition Height="Auto" /> 
    </Grid.RowDefinitions> 

    <ContentControl Grid.Row="0" 
        Grid.Column="1" /> 

    <GridSplitter Grid.Row="1" 
        Height="5" 
        HorizontalAlignment="Stretch" 
        Visibility="{Binding ShowLogWindow, 
             Converter={StaticResource Bool2Vis}}" /> 

    <ListBox Grid.Row="2" 
      VerticalAlignment="Stretch" 
      ItemsSource="{Binding Toolbox.LogEntries}" 
      MinHeight="50" 
      Visibility="{Binding ShowLogWindow, 
            Converter={StaticResource Bool2Vis}}" /> 
</Grid> 
+2

Legen Sie in der dritten Zeile nicht 'Height =" Auto "' fest? – Clemens

Antwort

2

Stellen Sie die Height der dritten RowDefinition (oder die ListBox selbst) bis 50 oder was auch immer feste Höhe Sie es haben wollen.

Auto bedeutet Größe zu Inhalt, was bedeutet, dass die Höhe der letzten Zeile wächst, wenn die ListBox wächst. Das ist anscheinend nicht das, was du willst.

+0

Das hat es komplett geschafft! Ich habe gelernt, die Höhe einzustellen würde die Größenänderung verhindern ... hätte es versucht .. Danke! – Shimrod

+0

Nur um Informationen hinzuzufügen, musste ich einen Stil (und einen Trigger) verwenden, um die Höhe der Zeile festzulegen, damit ich sie bei Bedarf ausblenden kann. – Shimrod

Verwandte Themen