我担心我的XAML看不见了。我正在开发一个MS Surface应用程序,并且在ScatterViewItem (终端用户可以调整大小的容器)中有一个椭圆。我想让椭圆保持为一个圆形(width == height),并尽可能地保持它的大小(对于椭圆的宽度/高度属性,应该取SVI的宽度/高度的最小值)。
最好使用仅XAML解决方案(使用属性触发器或类似的解决方案)。
我们将一如既往地感谢您的帮助。
发布于 2009-05-25 21:11:28
一个简单的Viewbox
就能解决这个问题吗?例如。
<Viewbox xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
HorizontalAlignment="Center"
VerticalAlignment="Center">
<Canvas Width="100" Height="100">
<Ellipse Fill="Red" Width="100" Height="100" />
</Canvas>
</Viewbox>
Viewbox
将缩放其内容以填充Viewbox
的区域,并且在默认情况下按比例进行缩放。当Ellipse
无法拉伸到完整大小时,指定的水平和垂直对齐将使其居中(由于按比例缩放)。
发布于 2012-10-02 21:58:33
几分钟前,我偶然发现了这个问题,并找到了一个比@Paul Betts更好的解决方案(如果可以,我会评论他的答案,但我不能)
您可以简单地使用<Ellipse Stretch="Uniform" />
来获得一个圆。
发布于 2009-05-26 06:31:56
<Ellipse x:Name="anEllipse" Width={Binding Path=ActualHeight ElementName=anEllipse} />
如果你也做了一个相对绑定的话,你也许可以不用命名它。
https://stackoverflow.com/questions/907951
复制相似问题