programing

StackPanel 주위에 경계를 설정합니다.

stoneblock 2023. 4. 19. 21:52

StackPanel 주위에 경계를 설정합니다.

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>

창 전체 주위에 테두리가 설정됩니다.또한 다른 StackPanel을 작성하면 그 아래에 추가되지 않고 이전 StackPanel 오른쪽에 추가됩니다.이유가 뭐죠?

이건 어때?

<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>

DockPanel을 설정합니다.Dock="Top"을 StackPanel에 연결하지만 StackPanel은 DockPanel의 하위 항목이 아닙니다...국경은.도킹 속성이 무시되고 있습니다.

DockPanel을 이동하는 경우.대신 국경선에 도킹 스테이션="위"를 누르면 두 가지 문제가 모두 해결됩니다. :)

도움이 될 수도 있습니다.

<Border BorderBrush="Black" BorderThickness="1" HorizontalAlignment="Left" Height="160" Margin="10,55,0,0" VerticalAlignment="Top" Width="492"/>

언급URL : https://stackoverflow.com/questions/2663048/set-a-border-around-a-stackpanel