2012-02-18 33 views
13
<Window x:Class="DataBinding_01.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="MainWindow" Height="350" Width="525"> 
    <StackPanel Height="Auto" Name="stackPanel1" Width="Auto">   
     <TextBox Height="23" Name="textBox1" Width="Auto" /> 
     <TextBox Height="23" Name="textBox2" Width="Auto" /> 
     <Button Content="Button" Name="button1" Width="Auto" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" /> 
    </StackPanel> 
</Window> 

Tôi muốn Nút điền tất cả không gian có sẵn trên StackPanel. Tôi làm nó như thế nào?Điền vào tất cả không gian có sẵn trong StackPanel

+1

thể trùng lặp của [Làm thế nào để có được con StackPanel để lấp đầy không gian tối đa xuống?] (Http://stackoverflow.com/questions/569095/how-to-get-stackpanels-children-to-fill-maximum -space-downward) –

+1

(Nghiêm túc, đó là câu hỏi đầu tiên trong phần liên quan, bạn sẽ thấy rằng ngay cả * trước khi đăng *; đề xuất thứ ba cũng sẽ hoạt động (cùng với thậm chí nhiều hơn)) –

+0

Tôi đã đọc câu hỏi đó. Có vẻ như nó mô tả một tình huống mà bạn muốn một stackpanel theo chiều ngang để điền vào tất cả các không gian dọc. Không giống nhau. –

Trả lời

35

Nếu bạn muốn điền vào tất cả không gian ngang và dọc, bạn nên sử dụng DockPanel.

<DockPanel Height="Auto" Name="stackPanel1" Width="Auto" LastChildFill="True"> 
     <TextBox DockPanel.Dock="Top" Height="23" Name="textBox1" Width="Auto" /> 
     <TextBox DockPanel.Dock="Top" Height="23" Name="textBox2" Width="Auto" /> 
     <Button Content="Button" Name="button1" Width="Auto" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" /> 
    </DockPanel> 
+4

Không còn dockPanel trên Windows Store Ứng dụng: ( –

+1

@Teomanshipahi Bạn có thể thử sử dụng 'Grid' với' Rowdefinitions' – VRage

Các vấn đề liên quan