在我的 winrt C# 应用程序中,我想在显示进度环并且在后台运行某些东西时禁用用户交互。
请让我知道我们如何实现这一目标。
谢谢。
在我的 winrt C# 应用程序中,我想在显示进度环并且在后台运行某些东西时禁用用户交互。
请让我知道我们如何实现这一目标。
谢谢。
将您的内容放在一个包含一行和一列的网格中,并将您的内容放在这个单个单元格中(很可能在另一个网格中)。在包含网格内,紧挨“真实”内容下方但在同一个单元格内,放置一个全宽、全高透明虚拟网格,其可见性与进度环的可见性绑定。通过一些调整,您应该能够让虚拟网格捕获所有用户输入并防止它进入“真实”内容。当虚拟网格的可见性折叠时(即当进度环也折叠时),“真实”内容将正常运行。
As I have did this. I have created user control called CurtainUserControl with only grid inside:
<Grid x:Name="curtainGrid" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
</Grid>
and in code I can show it
public void ShowCurtain()
{
CurtainUserControl guc = new CurtainUserControl();
mainGrid.Children.Add(guc);
}
and hide
public void HideCurtain()
{
int childCount = VisualTreeHelper.GetChildrenCount(mainGrid);
for (int i = 0; i < childCount; i++)
{
CurtainUserControl guc = mainGrid.Children.ElementAt(i) as CurtainUserControl;
if (guc != null)
{
mainGrid.Children.RemoveAt(i);
}
}
}