【发布时间】:2011-08-11 04:15:29
【问题描述】:
我正在使用 Silverlight,并最终使用 Silverlight for the Phone。
我想要做的是创建一个包含子控件的带边框的容器。子控件在网格控件范围之外时不可见。
这可能吗?我知道我可以从路径创建剪辑,但这是唯一的方法。
我确实使用了一个滚动容器,它似乎可以工作......有点。
这是 xaml。我期望的是应用程序运行时第二个按钮不可见。
<Grid x:Name="LayoutRoot" Background="White" >
<Grid HorizontalAlignment="Left" VerticalAlignment="Top" Height="197" Width="241" d:LayoutOverrides="HorizontalAlignment, VerticalAlignment">
<Button Content="Button" Margin="25,42,101,81"/>
<Button Content="Button" Height="76" Margin="25,0,63,-83" VerticalAlignment="Bottom"/>
</Grid>
</Grid>
【问题讨论】:
-
不确定您在问什么——通常,除非您使用 TranslateTransform 之类的东西,否则子元素在 Grid 元素之外是不可见的。
-
让我感到困惑的是包含的网格边界似乎除了充当参考点之外什么都不做。包含的网格似乎与根的大小相同(实际上)
-
我仍然不明白您的问题,但要回答您的最后一条评论,Grid 始终采用其容器的大小,因此包含的 Grid 将与 LayoutRoot Grid 的大小完全相同。跨度>
-
我添加了上面的 xaml。第一个按钮位于网格的预期可见部分。第二个按钮在网格之外,但在布局根中仍然可见。我只想知道如何让第二个包含的网格像一个窗口一样。
-
好的,如果您不希望显示第二个按钮,请使用 Ross 在下面的答案,因为您的 Margin 就像 TranslateTransform 一样,并将按钮按到网格之外。不知道你为什么要这样做;要隐藏 Button,最好将其 Visibility 设置为 Collapsed。
标签: silverlight xaml windows-phone-7