使用 Telerik 的 WP7 RadBusyIndicator 控件






4.55/5 (9投票s)
在本文中,我们将学习如何在 Windows Phone 7 中使用 Telerik BusyIndicator 控件,让用户知道后台正在进行一些操作。
引言
Busy Indicator 是一种可以在 Silverlight 或 WP7 应用程序中添加的工具,用于在执行某些操作时向用户显示加载指示。这只是为了让用户知道正在进行某项工作。
在本文中,我们将学习如何在 Windows Phone 7 中使用 Telerik BusyIndicator
控件,让用户知道后台正在进行一些操作。
在 Windows Phone 7 SDK 中,我们没有特殊的控件来显示忙碌指示服务。作为替代,Silverlight for Windows Phone Toolkit 有自己的 PerformanceProgressBar
控件,而 Coding4FunToolkit 有自己的 ProgressOverlay
控件。
Telerik 有自己的 Windows Phone 7 控件,您可以在其中找到名为 RadBusyIndicator 的忙碌指示器控件。今天,在这篇博文中,我们将通过一个小型演示来讨论这个控件。在这里,我将使用 Telerik Windows Phone 7 控件库的 2012 Q1 版本。在这个新版本中,增加了一个额外的动画。
了解控件
RadBusyIndicator
控件是 Telerik Windows Phone 7 控件库的一部分,位于名为 Telerik.Windows.Controls
的命名空间下。要使用此控件,您需要将“Telerik.Windows.Controls.Primitives.dll”添加为项目文件的引用。让我们看看 RadBusyIndicator
类的实现。
如下面的代码所示,RadBusyIndicator
有五个依赖项属性,分别是 InitialDelay
(获取或设置 TimeSpan
,用于确定显示忙碌指示控件和启动动画之前的初始延迟)、ContentPosition
(获取或设置内容相对于忙碌指示器的位置)、IndicatorAnimationStyle
(获取或设置定义忙碌指示器动画的样式)、IsRunning
(获取或设置一个布尔值,用于确定忙碌指示是否正在运行)和 AnimationStyle
(获取或设置 Telerik 为忙碌指示器定义的动画样式)。
请查看下面 RadBusyIndicator 控件的完整元数据
namespace Telerik.Windows.Controls
{
[TemplatePart(Name = "PART_InfoContent", Type = typeof (ContentPresenter))]
[TemplatePart(Name = "PART_Animation", Type = typeof (BusyIndicatorAnimation))]
public class RadBusyIndicator : RadContentControl
{
public static readonly DependencyProperty InitialDelayProperty;
public static readonly DependencyProperty ContentPositionProperty;
public static readonly DependencyProperty IndicatorAnimationStyleProperty;
public static readonly DependencyProperty IsRunningProperty;
public static readonly DependencyProperty AnimationStyleProperty;
public RadBusyIndicator();
public AnimationStyle AnimationStyle { get; set; }
public TimeSpan InitialDelay { get; set; }
public bool IsRunning { get; set; }
public ContentPosition ContentPosition { get; set; }
public Style IndicatorAnimationStyle { get; set; }
public override void OnApplyTemplate();
protected override void OnUnloaded(object sender, RoutedEventArgs e);
protected override void OnLoaded(object sender, RoutedEventArgs e);
protected override string ComposeVisualStateName();
}
}
“AnimationStyle
”是 Telerik 定义的一个 enum
,用于为忙碌指示控件使用一些基本的动画样式。它包含 9 (九) 个预定义的 enum
值作为动画样式。这是它的元数据
namespace Telerik.Windows.Controls
{
public enum AnimationStyle
{
AnimationStyle1,
AnimationStyle2,
AnimationStyle3,
AnimationStyle4,
AnimationStyle5,
AnimationStyle6,
AnimationStyle7,
AnimationStyle8,
AnimationStyle9,
}
}
此 enum
也在“Telerik.Windows.Controls
”命名空间中定义。请注意,如果您使用的是最新的版本(2012 Q1 Release),您将获得“AnimationStyle9
”作为忙碌指示器的新动画样式。
准备项目
是时候看一个实现示例了。在这个演示中,我将使用所有默认的动画样式。首先,使用 Visual Studio 2010 创建一个 Windows Phone 7 项目。我假设您在开发机器上安装了 Visual Studio 2010、Windows Phone 7.1 SDK 工具以及 Telerik Windows Phone 7 控件库。
现在,我们需要在项目中添加 Telerik.Windows.Controls.Premitives.dll 引用。如下所示,添加 DLL 引用以从中使用的 RadBusyIndicator
控件。
创建托管控件的用户界面
添加 DLL 引用完成后,您需要在 XAML 页面中导入 XMLNS 命名空间。为此,只需在您想使用该控件的 XAML 页面中添加以下代码片段
xmlns:Controls="clr-namespace:Telerik.Windows.Controls;
assembly=Telerik.Windows.Controls.Primitives"
现在,是时候为我们的演示创建 UI 了。正如我之前提到的,我们将在这里使用所有九种动画样式,因此让我们将 ContentPanel
网格分成 3 列和 3 行;这样就可以在 UI 中容纳 9 个控件。
现在,如下所示,将 RadBusyIndicator
控件添加到网格的相应单元格中。为了默认开始动画,我们在 XAML 中将 IsRunning
属性设置为默认值。对于单元格中的各个控件,我们还设置了正确的动画样式。对于九个控件,我们添加了如下所示的动画样式
完成此步骤后,您将在设计器窗口中看到加载的控件。要查看它们运行的效果,请构建项目并运行它。
实时演示
是时候看看我们到目前为止实现的实时演示了。运行您的应用程序,您将在屏幕上看到所有忙碌指示器,并带有正确的视觉动画,如下所示
请记住,不需要在 XAML 页面中硬编码“IsRunning
”属性,因为默认情况下您不需要它自动加载到屏幕上。将控件放在 UI 的最顶层,然后从代码隐藏处理它,或者使用数据绑定到一个属性来启动或停止动画。
结束语
希望这篇帖子能帮助您了解 Telerik 的忙碌指示器控件在您的 Windows Phone 7 应用程序中的用途。现在您可以在项目中使用它了。如果您有任何疑问,请告诉我。
您可能是通过搜索引擎查询或从社交媒体网站来到此页面的。那么,为什么不订阅我的博客提要,并在 Facebook 和 Twitter 上关注我的技术更新呢?您可以在下方找到直接链接。
“点赞”我的 Facebook 页面,即可随时了解最新的技术更新。我也可以在 Twitter 上找到,所以请与我联系,即可在您的 Twitter 收件箱中收到最新的推文。
使用您的电子邮件 ID 订阅我们的新闻通讯,以随时了解最新的帖子。我们将向您注册的电子邮件地址发送新闻通讯。我们不会与任何人共享您的电子邮件地址,也不会向您的收件箱发送垃圾邮件,因为我们尊重隐私并厌恶垃圾邮件。感谢您访问我的博客。祝您编码愉快!