2010-02-22 23 views
7

Chúng tôi có tệp thực thi WPF tạo và sau đó tự động tải một số cụm. Mỗi assembly đại diện cho một màn hình (.xaml) được hiển thị trong một trong các tab. Vấn đề là ở ngay dưới và không ở dưới cùng của cửa sổ. Làm thế nào để buộc phải luôn ở dưới cùng của cửa sổ ? Cám ơn!WPF <StatusBar> không được đặt ở dưới cùng của cửa sổ

UserControl  
    DockPanel 
     CheckBox 
     StatusBar 
    DockPanel 
UserControl 

Trả lời

1

Bạn đã thử?

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

Ngoài câu trả lời ArsenMkrt về bao gồm DockPanel.Dock = thuộc tính "dưới", đừng quên rằng yếu tố cuối cùng trong một DockPanel sẽ lấp đầy khu vực này, trừ khi bạn rõ ràng nói với nó nếu không sử dụng một lệnh chiều cao (bất kể thuộc tính DockPanel.Dock được cung cấp).

đề nghị của tôi là để làm như sau:

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

lại: nhận xét của bạn về phần tử cuối cùng, bạn cũng có thể đặt thuộc tính LastChildFill trên DockPanel – kenwarner

+0

@qntmfred - bạn nói đúng. Tôi quên mất thuộc tính đó, chủ yếu là do thực tế là tôi thường muốn đứa trẻ cuối cùng lấp đầy. –

3

tôi đã cùng một vấn đề chỉ là bây giờ. Nhờ mẹo của Stephen Wrighton rằng yếu tố cuối cùng được thêm vào một diện tích còn lại, tôi đã tìm cách thiết lập Window của mình. Đó là một chút lạ kể từ khi tôi thêm Grid cuối cùng nhưng nó đã được đặt ở giữa.

<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> 
Các vấn đề liên quan