2013-02-15 21 views
3

在我的winrt C#应用程序中,我希望禁用用户交互,同时显示进度环并在后台运行某些内容。当显示进度环时禁用UI Winrt C#应用程序

请让我知道我们如何才能做到这一点。

谢谢。

+0

我不知道你是否可以使用它或不是,但看看这个http://thecodecentral.com/2008/01/17/a-yui-loading-panel-widget这是YUI的东西 – NetStarter 2013-02-15 06:28:01

+0

你需要类似闪屏的东西吗? – Igoy 2013-02-15 06:51:27

回答

1

将您的内容放入包含一行和一列的包含网格中,并将您的内容放入此单个单元格内(很可能位于另一个网格内)。在包含网格中,紧靠“真实”内容的下方,但位于同一单元格内部的位置,放置一个全角全高透明虚拟网格,其可见性与进度环的可见性相关。通过一些调整,您应该能够获得虚拟网格来捕获所有用户输入并阻止它进入“真实”内容。当虚拟网格的可见性崩溃时(即进度环也折叠)时,“真实”内容将正常运行。

0

正如我所做的那样。我创建了一个叫做CurtainUserControl里面只有网格用户控制:

<Grid x:Name="curtainGrid" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"> 
    </Grid> 

,并在代码中我可以告诉它

 public void ShowCurtain() 
    { 
     CurtainUserControl guc = new CurtainUserControl(); 
     mainGrid.Children.Add(guc); 
    } 

和隐藏

 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); 
      } 
     } 
    } 
相关问题