我有点卡住实现一个相当简单的布局要求。我想要显示图像并在图像下方显示一个按钮。图像应该作为一个整体显示 - 所以它应该按比例缩小,但不应该放大。WPF布局问题
这里是我想要的东西:
看似简单,但我无法弄清楚,如果这甚至有可能在XAML。显然Stackpanel
不起作用,也不是DockPanel
,我也看不到Grid
的解决方案。
这是我尝试用DockPanel中:
<DockPanel>
<Button DockPanel.Dock="Bottom">Button</Button>
<Viewbox
Stretch="Uniform"
MaxWidth="{Binding ElementName=bigImage, Path=ActualWidth}"
MaxHeight="{Binding ElementName=bigImage, Path=ActualHeight}">
<Image x:Name="bigImage"/>
</Viewbox>
</DockPanel>
显然,图像视框会一直填补剩余的空间,因此该按钮将永远在整个容器的底部,而不是在图像的底部。
任何想法?
感谢您指出了DownOnly属性。但问题仍然存在,因为按钮始终位于整个dockpanel容器的底部,而不是在图像下方。 – 2011-05-30 09:58:34
这就是为什么我将水平和垂直对齐设置为居中:通过这种方式,DockPanel获取其内容的大小,并且该按钮位于图像下方。我试过了,它工作正常......你使用完全相同的代码? – 2011-05-30 10:08:44
我认为他意味着按钮水平延伸。您可以将HorizontalAlignment =“Left”添加到按钮。 – Vicro 2011-05-30 10:17:47