如何在窗口上叠加控件?

6

现在我有一个普通窗口和一堆控件。

当用户点击某个按钮时,我想把整个窗口变暗,然后在其上方显示一个弹出框。不是真正的对话框,只是在窗口内部的东西。

所以这是我的理论...

  1. 每个控件都在图层0上。
  2. 有一个与表单大小相同的矩形在图层1中。这具有50%的透明度。
  3. 我的弹出框加载到图层2中。
  4. 在矩形的任何位置单击将执行与关闭弹出框相同的操作。

这可行吗?

1个回答

9

这是完全可能的。

将整个用户界面放在 <Grid> 中的任何一个面板中。

然后,在同一个网格中,放置一个 <Rectangle Opacity=".5" Visibility="Collapsed" /> 用于叠加层和一个居中的面板用于弹出窗口。

处理矩形的点击事件并隐藏弹出窗口。


1
@SLaks 我只需要添加 <Rectangle Opacity=".5" Visibility="Collapsed" /> 吗?因为当我将 Visibility 更改为 Visible 时,我没有看到一个矩形出现。我该如何让这个矩形填满整个窗口? - MattC

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