我有这个代码,我在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>
它现在给了我这个:
所以右边的小箭头应该放在按钮的右边,而不是仅仅放在TextBlock之后。 我发现了一些类似的问题,看起来我做得对,但不知怎的,它不是......
我在这里做错了什么?
答案 0 :(得分:6)
尝试将按钮的HorizontalContentAlignment
设置为“Stretch
”。否则,您的DockPanel将按其内容使用尺寸需求,然后左对齐。您可以使用TextBlock
答案 1 :(得分:4)
您只需将一个额外的子项附加到DockPanel(比如一个空的Canvas)而不使用DockPanel.Dock属性,以便为其分配所有剩余空间。 通常,DockPanel仅在其最后一个子节点没有Dock约束时才能正常工作
答案 2 :(得分:1)
尝试设置
HorizontalContentAlignment = “拉伸”
在你的按钮上。