C# 如何在WPF中编码一个跳动器(“加载”或“等待”图形)?

C# 如何在WPF中编码一个跳动器(“加载”或“等待”图形)?,c#,wpf,wait,C#,Wpf,Wait,如何在WPF中编写“加载”或“等待”图形 如果有人有一个页面需要加载很多信息,通常是在flash网站上,你会看到一个旋转的圆圈,这通常意味着有很多数据正在加载,用户需要等待 这不仅仅是一个好的效果。它具有现实的应用和重要性。如果有人打开一个没有此图形的表单、页面或窗口,而看到的却是一个应该显示信息的表单,但看到的却是空白字段,那么他的第一个提示可能是没有要显示的信息。即使光标变为等待模式,这也可能是真的。与可能处于某种旋转状态的光标相比,广阔的空域将更像是一幅图像的呈现和压制 我想我可以拼凑一些

如何在WPF中编写“加载”或“等待”图形

如果有人有一个页面需要加载很多信息,通常是在flash网站上,你会看到一个旋转的圆圈,这通常意味着有很多数据正在加载,用户需要等待

这不仅仅是一个好的效果。它具有现实的应用和重要性。如果有人打开一个没有此图形的表单、页面或窗口,而看到的却是一个应该显示信息的表单,但看到的却是空白字段,那么他的第一个提示可能是没有要显示的信息。即使光标变为等待模式,这也可能是真的。与可能处于某种旋转状态的光标相比,广阔的空域将更像是一幅图像的呈现和压制

我想我可以拼凑一些东西。我想我可以呈现一个旋转圆的gif,它在开头显示,然后在调用所有数据加载方法后隐藏。但也许有一些共享的公共图形可以免费使用,在不知道这个东西到底叫什么的情况下,我不知道用什么名字或短语来搜索它。它们叫什么


另外,也许WPF甚至MVVM中已经内置了一些使用此功能的东西。有?此外,可能有人已经想出了一种方法,使整个表单或页面在显示旋转圆圈时变为灰色和非活动状态,并很友好地分享了它。这是真的吗?

BackGroundWorker线程是你的朋友。
BackGroundWorker线程是您的朋友。
在我看来,你在这里问了很多不同的问题。因此,虽然我通常不喜欢零碎的回答,但我的回答是:

但也许有某种共享的东西 免费和免费使用的通用图形 不知道这到底是什么 事情叫什么,我不知道 用于搜索的名称或短语 一个。它们叫什么

我相信网络上有免费图片可以使用。我可能会搜索“忙碌的光标”甚至“沙漏”,因为直到最近,主要的操作系统都是这样呈现它们的

而且,也许已经有了一些东西 内置到WPF、WCF甚至MVVM中 就是用这个。有吗

首先,我们最好弄清楚我们的条件:

  • MVVM没有“内置”任何东西,因为它是一种编程模式,而不是框架。有很多,但我不知道是否有任何包含特定的图形元素。可能是 WCF是Windows通信基础,它的库几乎不包含任何图形元素。<李>
  • WPF是Windows演示文稿基础,这是您将找到(或定义自己)图形元素的地方。它确实包含一个,但尽管您可以自定义任何WPF控件的外观,但它实际上是为了显示从起点到终点的进度。那可能不是你想要的。WPF当然可以显示动画图像。给你
另外,也许有人已经制定了一个 制作整个表单或页面的方法 灰色且不活动,同时显示 旋转的圆圈,一直是善良的 足够分享了。这是真的吗

几乎可以肯定。同样,这里有很多方法可以采用。例如,其中一些在中提到。搜索“覆盖”或“闪屏”可以为您指明正确的方向。简言之(WPF):

  • 通过设置其控件“
    inactive
    properties”和/或向下捕捉
    Preview(按键|鼠标)
    事件,使页面处于“非活动”状态
  • 通过在页面上方显示半透明元素(如
    网格
    矩形)来“灰显”页面。根据您的操作方式,它也可以处理使底层控件处于“非活动”状态的问题(请不要引用我的话,但我相信矩形之类的元素会拦截鼠标单击,因此用户无法单击它下面的控件…)

    • 在我看来,你在这里问了很多不同的问题。因此,虽然我通常不喜欢零碎的回答,但我的回答是:

      但也许有某种共享的东西 免费和免费使用的通用图形 不知道这到底是什么 事情叫什么,我不知道 用于搜索的名称或短语 一个。它们叫什么

      我相信网络上有免费图片可以使用。我可能会搜索“忙碌的光标”甚至“沙漏”,因为直到最近,主要的操作系统都是这样呈现它们的

      而且,也许已经有了一些东西 内置到WPF、WCF甚至MVVM中 就是用这个。有吗

      首先,我们最好弄清楚我们的条件:

      • MVVM没有“内置”任何东西,因为它是一种编程模式,而不是框架。有很多,但我不知道是否有任何包含特定的图形元素。可能是 WCF是Windows通信基础,它的库几乎不包含任何图形元素。<李>
      • WPF是Windows演示文稿基础,这是您将找到(或定义自己)图形元素的地方。它确实包含一个,但尽管您可以自定义任何WPF控件的外观,但它实际上是为了显示从起点到终点的进度。那可能不是你想要的。WPF当然可以显示动画图像。给你
      另外,也许有人已经制定了一个 制作整个表单或页面的方法 灰色且不活动,同时显示 旋转的圆圈,一直是善良的 足够分享了。这是真的吗

      几乎可以肯定。同样,这里有很多方法可以采用。例如,其中一些在中提到。搜索“覆盖图”或“闪屏”可能会让您在
          <Window.Resources>
          <CollectionViewSource x:Key="DataList" Source="{Binding TestData}"  />
      </Window.Resources>
      <Grid Background="AliceBlue" app:AsyncNotifier.Trigger="{Binding IsDataLoading}" 
            app:AsyncNotifier.SpinnerText="Loading...">
          <TabControl Grid.RowSpan="2">
              <TabItem Header="TabItem">
                  <Grid Background="#FFE5E5E5">
                      <Grid.RowDefinitions>
                          <RowDefinition/>
                          <RowDefinition Height="Auto"/>
                      </Grid.RowDefinitions>
                      <ListBox ItemsSource="{Binding 
                          Source={StaticResource DataList}}" />
                      <Button Content="Do Update" HorizontalAlignment="Left" Command="{Binding LoadData}"
                              VerticalAlignment="Top" Width="75" Grid.Row="1" Margin="0,5" />
                  </Grid>
              </TabItem>
              <TabItem Header="TabItem">
                  <Grid Background="#FFE5E5E5"/>
              </TabItem>
          </TabControl>
      </Grid>