如何在Silverlight中拉伸控件以填充画布?

3
我需要做的是将控件拉伸到填满整个画布。
我认为我必须使用Canvas(我不希望我的控件在渲染到容器外部时被裁剪 - 据我所知,所有其他容器都会裁剪 - 网格,边框... - 也许还有另一个解决方案?)。
如果我将控件放在Canvas中,它可以正常工作(我的意思是它不会被裁剪)。但是,它并没有填满整个Canvas。我尝试绑定Canvas的宽度和高度,但没有结果。
你有任何想法或线索吗?
先感谢了!

我刚在Kaxaml中进行了测试,Grid默认情况下不会剪裁其子元素(尽管您可以通过将ClipToBounds设置为true来进行剪裁)。 - Joe White
@Joe,我试图使用网格(Grid),但总是得到一个被剪切的控件。你能提供一个代码片段作为例子吗? - Jamie
这是我尝试的 XAML 代码:<Grid Width="80" Height="50" Background="Red"><Button Margin="-10 10" Content="文本"/></Grid> 按钮超出了网格,且并未被裁剪--因此你提到的“其他所有容器都进行裁剪”似乎不适用,除非你没有提供其他细节。 - Joe White
1个回答

2

一个控件可以通过设置负边距逃离容器,例如BorderGrid。因此,也许您应该返回使用Grid并使用列和行定义进行放置,并在需要时使用负边距。


我放置了一个具有指定高度的控件,该高度可以更改(即控件可以展开),而且我仍然希望显示整个控件(包括原始控件的区域和展开的区域)。 - Jamie
@Jamie:你需要做出选择,你想手动放置和调整控件的大小还是想从网格系统获得帮助?如果你希望内容可以扩展其大小,为什么“网格”有一个固定的大小呢?为什么不让网格成为其内容的总大小呢? - AnthonyWJones

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接