我有这个代码,我在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)
它现在给了我这个:

所以右边的小箭头应该放在按钮的右边,而不仅仅是在TextBlock之后.我发现了一些类似的问题,看起来我做得对,但不知怎的,它不是......
我在这做错了什么?
尝试将HorizontalContentAlignment按钮设置为" Stretch".否则,您的DockPanel将按其内容使用尺寸需求,然后左对齐.您可以通过为TextBlocks 使用不同的文本长度来确认此行为
您只需要向DockPanel附加一个额外的子项(例如一个空的Canvas),而无需DockPanel.Dock属性,以便将所有剩余空间分配给它。通常,仅当DockPanel的最后一个子对象没有Dock约束时,它才能正常工作