tutorial rowdefinition form example wpf orientation stackpanel

rowdefinition - wpf splitter



Establezca un borde alrededor de un StackPanel. (2)

Aquí está mi código XAML:

<Window x:Class="CarFinder.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Search for cars in TuMomo" Height="480" Width="600"> <DockPanel Margin="8"> <Border CornerRadius="6" BorderBrush="Gray" Background="LightGray" BorderThickness="2" Padding="8"> <StackPanel Orientation="Horizontal" DockPanel.Dock="Top" Height="25"> <TextBlock FontSize="14" Padding="0 0 8 0"> Search: </TextBlock> <TextBox x:Name="txtSearchTerm" Width="400" /> <Image Source="/CarFinder;component/Images/Chrysanthemum.jpg" /> </StackPanel> </Border> <StackPanel Orientation="Horizontal" DockPanel.Dock="Top" Height="25"> </StackPanel> </DockPanel> </Window>

El borde se establece alrededor de toda la ventana. Y también, cuando creo otro StackPanel, se agrega a la derecha de mi StackPanel anterior en lugar de agregarse debajo. ¿Cuál es el motivo de esto?


¿Qué hay de este?

<DockPanel Margin="8"> <Border CornerRadius="6" BorderBrush="Gray" Background="LightGray" BorderThickness="2" DockPanel.Dock="Top"> <StackPanel Orientation="Horizontal"> <TextBlock FontSize="14" Padding="0 0 8 0" HorizontalAlignment="Center" VerticalAlignment="Center">Search:</TextBlock> <TextBox x:Name="txtSearchTerm" HorizontalAlignment="Center" VerticalAlignment="Center" /> <Image Source="lock.png" Width="32" Height="32" HorizontalAlignment="Center" VerticalAlignment="Center" /> </StackPanel> </Border> <StackPanel Orientation="Horizontal" DockPanel.Dock="Bottom" Height="25" /> </DockPanel>


Estableces DockPanel.Dock = "Top" al StackPanel, pero StackPanel no es un elemento secundario del DockPanel ... the Border is. Su propiedad de acoplamiento está siendo ignorada.

Si mueve DockPanel.Dock = "Top" al borde en su lugar, se corregirán ambos problemas :)