Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用C/WPF屏蔽窗口/画布的所有元素_C#_Wpf_Canvas_Window_Mask - Fatal编程技术网

C# 用C/WPF屏蔽窗口/画布的所有元素

C# 用C/WPF屏蔽窗口/画布的所有元素,c#,wpf,canvas,window,mask,C#,Wpf,Canvas,Window,Mask,如何创建一个遮罩来覆盖包含子画布/元素的窗口/画布的所有元素 提前谢谢 编辑:我想在创建遮罩后添加更多控件/元素/任何内容。可以吗?如何操作?我不确定您是否必须屏蔽控件。为什么不使用可见性属性 例如,如果您有一个stackPanel,并且想要屏蔽它及其内容,只需将 <StackPanel Visibility="Hidden"> ... </StackPanel> 通过这种方式,您可以控制每个小部件的可见性。如果要添加或使其他内容可见,只需将属性设置为可见即可。我总是感

如何创建一个遮罩来覆盖包含子画布/元素的窗口/画布的所有元素

提前谢谢


编辑:我想在创建遮罩后添加更多控件/元素/任何内容。可以吗?如何操作?

我不确定您是否必须屏蔽控件。为什么不使用可见性属性

例如,如果您有一个stackPanel,并且想要屏蔽它及其内容,只需将

<StackPanel Visibility="Hidden">
...
</StackPanel>

通过这种方式,您可以控制每个小部件的可见性。如果要添加或使其他内容可见,只需将属性设置为可见即可。

我总是感到惊讶,这么简单的事情却得不到任何答案。也许微软在这方面比Adobe落后几光年?或者WPF/C有些我不明白的地方?如果我只想隐藏一半呢?例如:对于滑动动画,您可能应该使用其他小部件,如扩展器或选项卡。一个丑陋的解决方案是使用一个矩形来屏蔽你的小部件,但我相信,即使不知道你的程序,也有一个更聪明的方法来做到这一点。首先,屏蔽UI元素有点奇怪。。。如果您添加小部件,它们必须是可见的,否则不要使用它们!其次,要执行滑动动画,可以使用堆栈、网格或画布等常用元素,并在可见->隐藏两种状态之间对它们应用动画