2010-02-22 8 views
7

Mamy plik wykonywalny WPF, który tworzy, a następnie ładuje dynamicznie kilka złożeń. Każdy zestaw reprezentuje ekran (.xaml) wyświetlany w jednej z kart. Problem polega na tym, że znajduje się tuż pod, a nie w dolnej części okna. Jak wymusić, aby zawsze znajdować się w dolnej części okna ? Dzięki!Plik WPF <StatusBar> nie jest umieszczony w dolnej części okna.

UserControl  
    DockPanel 
     CheckBox 
     StatusBar 
    DockPanel 
UserControl 

Odpowiedz

1

Próbowałeś?

<StatusBar DockPanel.Dock="Bottom" ... /> 
12

Oprócz odpowiedzi ArsenMkrt jest o tym DockPanel.Dock = „bottom” atrybut, nie należy zapominać, że ostatni element w DockPanel wypełni obszar, chyba że wyraźnie powiedzieć to inaczej, używając polecenia wysokość (niezależnie od dostarczonego atrybutu DockPanel.Dock).

moja propozycja to zrobić w ten sposób:

<UserControl> 
    <DockPanel> 
    <StatusBar DockPanel.Dock="Bottom" /> 
    <CheckBox /> 
    </DockPanel> 
</Usercontrol> 
+2

Re: Twój komentarz na temat ostatniego elementu, można również ustawić właściwość LastChildFill na DockPanel – kenwarner

+0

@qntmfred - masz rację. Zapominam o tym atrybucie, głównie z tego powodu, że zazwyczaj chcę, aby ostatnie dziecko wypełniło. –

3

miałem ten sam problem właśnie teraz. Dzięki wskazówkom Stephena Wrightona, że ​​ostatnie element do wypełnia obszar pozostały, zorientowałem się, jak skonfigurować moje Window. To było trochę dziwne, ponieważ dodałem ostatni, ale został on umieszczony na środku.

<Window> 
    <DockPanel> 
     <Menu DockPanel.Dock="Top"> 
      <MenuItem Header="_File"> 
      </MenuItem> 
     </Menu> 

     <StatusBar DockPanel.Dock="Bottom"> 
      <StatusBarItem Content="Filler" /> 
     </StatusBar> 

     <Grid x:Name="rootGrid"> 

     </Grid> 
    </DockPanel> 
</Window> 
Powiązane problemy