3

在我的 winrt C# 应用程序中,我想在显示进度环并且在后台运行某些东西时禁用用户交互。

请让我知道我们如何实现这一目标。

谢谢。

4

2 回答 2

1

将您的内容放在一个包含一行和一列的网格中,并将您的内容放在这个单个单元格中(很可能在另一个网格中)。在包含网格内,紧挨“真实”内容下方但在同一个单元格内,放置一个全宽、全高透明虚拟网格,其可见性与进度环的可见性绑定。通过一些调整,您应该能够让虚拟网格捕获所有用户输入并防止它进入“真实”内容。当虚拟网格的可见性折叠时(即当进度环也折叠时),“真实”内容将正常运行。

于 2013-02-27T08:40:44.683 回答
1

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);
            }
        }
     }
于 2016-05-15T07:20:19.430 回答