C# 如何在WPF中编码一个跳动器(“加载”或“等待”图形)?
如何在WPF中编写“加载”或“等待”图形 如果有人有一个页面需要加载很多信息,通常是在flash网站上,你会看到一个旋转的圆圈,这通常意味着有很多数据正在加载,用户需要等待 这不仅仅是一个好的效果。它具有现实的应用和重要性。如果有人打开一个没有此图形的表单、页面或窗口,而看到的却是一个应该显示信息的表单,但看到的却是空白字段,那么他的第一个提示可能是没有要显示的信息。即使光标变为等待模式,这也可能是真的。与可能处于某种旋转状态的光标相比,广阔的空域将更像是一幅图像的呈现和压制 我想我可以拼凑一些东西。我想我可以呈现一个旋转圆的gif,它在开头显示,然后在调用所有数据加载方法后隐藏。但也许有一些共享的公共图形可以免费使用,在不知道这个东西到底叫什么的情况下,我不知道用什么名字或短语来搜索它。它们叫什么C# 如何在WPF中编码一个跳动器(“加载”或“等待”图形)?,c#,wpf,wait,C#,Wpf,Wait,如何在WPF中编写“加载”或“等待”图形 如果有人有一个页面需要加载很多信息,通常是在flash网站上,你会看到一个旋转的圆圈,这通常意味着有很多数据正在加载,用户需要等待 这不仅仅是一个好的效果。它具有现实的应用和重要性。如果有人打开一个没有此图形的表单、页面或窗口,而看到的却是一个应该显示信息的表单,但看到的却是空白字段,那么他的第一个提示可能是没有要显示的信息。即使光标变为等待模式,这也可能是真的。与可能处于某种旋转状态的光标相比,广阔的空域将更像是一幅图像的呈现和压制 我想我可以拼凑一些
另外,也许WPF甚至MVVM中已经内置了一些使用此功能的东西。有?此外,可能有人已经想出了一种方法,使整个表单或页面在显示旋转圆圈时变为灰色和非活动状态,并很友好地分享了它。这是真的吗?BackGroundWorker线程是你的朋友。
BackGroundWorker线程是您的朋友。
在我看来,你在这里问了很多不同的问题。因此,虽然我通常不喜欢零碎的回答,但我的回答是: 但也许有某种共享的东西 免费和免费使用的通用图形 不知道这到底是什么 事情叫什么,我不知道 用于搜索的名称或短语 一个。它们叫什么 我相信网络上有免费图片可以使用。我可能会搜索“忙碌的光标”甚至“沙漏”,因为直到最近,主要的操作系统都是这样呈现它们的 而且,也许已经有了一些东西 内置到WPF、WCF甚至MVVM中 就是用这个。有吗 首先,我们最好弄清楚我们的条件:
- MVVM没有“内置”任何东西,因为它是一种编程模式,而不是框架。有很多,但我不知道是否有任何包含特定的图形元素。可能是李>
WCF是Windows通信基础,它的库几乎不包含任何图形元素。<李> - WPF是Windows演示文稿基础,这是您将找到(或定义自己)图形元素的地方。它确实包含一个,但尽管您可以自定义任何WPF控件的外观,但它实际上是为了显示从起点到终点的进度。那可能不是你想要的。WPF当然可以显示动画图像。给你
- 通过设置其控件“
properties”和/或向下捕捉inactive
事件,使页面处于“非活动”状态Preview(按键|鼠标)
- 通过在页面上方显示半透明元素(如
或网格
矩形)来“灰显”页面。根据您的操作方式,它也可以处理使底层控件处于“非活动”状态的问题(请不要引用我的话,但我相信矩形之类的元素会拦截鼠标单击,因此用户无法单击它下面的控件…)
- MVVM没有“内置”任何东西,因为它是一种编程模式,而不是框架。有很多,但我不知道是否有任何包含特定的图形元素。可能是李>
WCF是Windows通信基础,它的库几乎不包含任何图形元素。<李> - WPF是Windows演示文稿基础,这是您将找到(或定义自己)图形元素的地方。它确实包含一个,但尽管您可以自定义任何WPF控件的外观,但它实际上是为了显示从起点到终点的进度。那可能不是你想要的。WPF当然可以显示动画图像。给你
- 在我看来,你在这里问了很多不同的问题。因此,虽然我通常不喜欢零碎的回答,但我的回答是:
但也许有某种共享的东西
免费和免费使用的通用图形
不知道这到底是什么
事情叫什么,我不知道
用于搜索的名称或短语
一个。它们叫什么
我相信网络上有免费图片可以使用。我可能会搜索“忙碌的光标”甚至“沙漏”,因为直到最近,主要的操作系统都是这样呈现它们的
而且,也许已经有了一些东西
内置到WPF、WCF甚至MVVM中
就是用这个。有吗
首先,我们最好弄清楚我们的条件:
<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>