WPF Dockpanel无法正确对齐

Pit*_*k76 7 wpf dockpanel

我有这个代码,我在Button.Content上使用DockPanel.但是它不能让我对齐最后一张图像(小箭头).

<Button Height="70"
                    HorizontalContentAlignment="Left">
              <Button.Content>
                <DockPanel LastChildFill="False">
                  <Image DockPanel.Dock="Left"
                    Height="50"
                         Width="50"
                         Source="{StaticResource Placeholder}"
                         Stretch="UniformToFill"
                         Margin="5" />
                  <TextBlock DockPanel.Dock="Left"
                             Text="Dummy text"
                             VerticalAlignment="Center"
                             Margin="5" />
                  <Image DockPanel.Dock="Right"
                         Height="24"
                         Width="24"
                         Source="{StaticResource Right_Arrow_24}"
                         VerticalAlignment="Center"
                         HorizontalAlignment="Right"
                         Stretch="UniformToFill"
                         Margin="5" />
                </DockPanel>
              </Button.Content>
            </Button>
Run Code Online (Sandbox Code Playgroud)

它现在给了我这个:

DockPanel中

所以右边的小箭头应该放在按钮的右边,而不仅仅是在TextBlock之后.我发现了一些类似的问题,看起来我做得对,但不知怎的,它不是......

我在这做错了什么?

mat*_*ieu 6

尝试将HorizontalContentAlignment按钮设置为" Stretch".否则,您的DockPanel将按其内容使用尺寸需求,然后左对齐.您可以通过为TextBlocks 使用不同的文本长度来确认此行为


rpa*_*n56 5

您只需要向DockPanel附加一个额外的子项(例如一个空的Canvas),而无需DockPanel.Dock属性,以便将所有剩余空间分配给它。通常,仅当DockPanel的最后一个子对象没有Dock约束时,它才能正常工作