我对扩展坞面板只了解一点,下面是使用的代码:
<DockPanel LastChildFill="True" >
<StackPanel Orientation="Horizontal" DockPanel.Dock="Top" VerticalAlignment="Center" Margin="10" >
<StackPanel Orientation="Horizontal" DockPanel.Dock="Left" VerticalAlignment="Center" >
<TextBlock Height="24" Name="Welcome" Text="Welcome" FontSize="14" />
</StackPanel>
<StackPanel Orientation="Horizontal" DockPanel.Dock="Right" VerticalAlignment="Center" >
<TextBlock Height="24" Name="Welcomee" Text="Welcomee" FontSize="14" />
</StackPanel>
</StackPanel>
</DockPanel>
Run Code Online (Sandbox Code Playgroud)
结果是这样的:
WelcomeWelcomee
Run Code Online (Sandbox Code Playgroud)
但是,代码必须导致如下所示:
Welcome Welcomee
Run Code Online (Sandbox Code Playgroud)
所以,请您告诉我我在哪里误解了这个概念。
您的第一个 StackPanel 不应包含其他两个堆栈面板。它包含另外两个。 DockPanel.Dock="left"仅适用于 DockPanel 的直接子级。
<DockPanel>
<StackPanel Orientation="Horizontal" DockPanel.Dock="Top" VerticalAlignment="Center" Margin="10" >Top
</StackPanel>
<StackPanel Orientation="Horizontal" DockPanel.Dock="Left" VerticalAlignment="Center" >
<TextBlock Height="24" Name="Welcome" Text="Welcome" FontSize="14" />
</StackPanel>
<StackPanel Orientation="Horizontal" DockPanel.Dock="Right" VerticalAlignment="Center" >
<TextBlock Height="24" Name="Welcomee" Text="Welcomee" FontSize="14" />
</StackPanel>
</DockPanel>
Run Code Online (Sandbox Code Playgroud)