2012-02-18 15 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> 

Düğmenin StackPanel'deki tüm kullanılabilir alanı doldurmasını istiyorum. Nasıl yapabilirim?Tüm kullanılabilir alanı StackPanel'de doldurun

+1

olası yinelenen [stackpanel çocukları aşağıya doğru maksimum boşluğu doldurmak için almak nasıl?] (Http://stackoverflow.com/questions/569095/how-to-get-stackpanels-children-to-fill-maximum -space-downward) –

+1

(Cidden, ilgili bölümdeki ilk soru budur, görebilmeniz gerekir * daha önce * gönderme, üçüncü öneri de (muhtemelen daha fazla) ile birlikte çalışacaktır) –

+0

Bu soruyu okudum. Tüm dikey alanı doldurmak için yatay olarak yönlendirilmiş bir yığın bölmesi istediğiniz bir durumu açıkladığı gibi geliyor. Aynı şey değil. –

cevap

35

Tüm yatay ve dikey alanları doldurmak istediğinizde DockPanel kullanmalısınız.

<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> 
ait
+4

Windows Mağazası Uygulamaları üzerinde dockPanel yok :( –

+1

@Teomanshipahi 'Rowdefinitions' ile' Grid' kullanmayı deneyebilirsiniz – VRage

İlgili konular