65.9K
CodeProject 正在变化。 阅读更多。
Home

使用 Telerik 的 WP7 RadBusyIndicator 控件

2012 年 3 月 5 日

CPOL

5分钟阅读

viewsIcon

28894

在本文中,我们将学习如何在 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 控件库。

Create WP7 Project

现在,我们需要在项目中添加 Telerik.Windows.Controls.Premitives.dll 引用。如下所示,添加 DLL 引用以从中使用的 RadBusyIndicator 控件。

Add Telerik.Windows.Controls.Premitives Library Reference

Telerik.Windows.Controls.Premitives Library Reference Added

创建托管控件的用户界面

添加 DLL 引用完成后,您需要在 XAML 页面中导入 XMLNS 命名空间。为此,只需在您想使用该控件的 XAML 页面中添加以下代码片段

xmlns:Controls="clr-namespace:Telerik.Windows.Controls;
assembly=Telerik.Windows.Controls.Primitives" 

现在,是时候为我们的演示创建 UI 了。正如我之前提到的,我们将在这里使用所有九种动画样式,因此让我们将 ContentPanel 网格分成 3 列和 3 行;这样就可以在 UI 中容纳 9 个控件。

Create the UI by splitting the Grid into multiple Rows and Columns

现在,如下所示,将 RadBusyIndicator 控件添加到网格的相应单元格中。为了默认开始动画,我们在 XAML 中将 IsRunning 属性设置为默认值。对于单元格中的各个控件,我们还设置了正确的动画样式。对于九个控件,我们添加了如下所示的动画样式

Added RadBusyIndicator control with various Animation Style

完成此步骤后,您将在设计器窗口中看到加载的控件。要查看它们运行的效果,请构建项目并运行它。

实时演示

是时候看看我们到目前为止实现的实时演示了。运行您的应用程序,您将在屏幕上看到所有忙碌指示器,并带有正确的视觉动画,如下所示


Telerik WP7 BusyIndicator

请记住,不需要在 XAML 页面中硬编码“IsRunning”属性,因为默认情况下您不需要它自动加载到屏幕上。将控件放在 UI 的最顶层,然后从代码隐藏处理它,或者使用数据绑定到一个属性来启动或停止动画。

结束语

希望这篇帖子能帮助您了解 Telerik 的忙碌指示器控件在您的 Windows Phone 7 应用程序中的用途。现在您可以在项目中使用它了。如果您有任何疑问,请告诉我。

您可能是通过搜索引擎查询或从社交媒体网站来到此页面的。那么,为什么不订阅我的博客提要,并在 FacebookTwitter 上关注我的技术更新呢?您可以在下方找到直接链接。

“点赞”我的 Facebook 页面,即可随时了解最新的技术更新。我也可以在 Twitter 上找到,所以请与我联系,即可在您的 Twitter 收件箱中收到最新的推文。

Subscribe to my Blog Feed for Free Like us to follow my Technical Feeds on Facebook Connect with me on Twitter

使用您的电子邮件 ID 订阅我们的新闻通讯,以随时了解最新的帖子。我们将向您注册的电子邮件地址发送新闻通讯。我们不会与任何人共享您的电子邮件地址,也不会向您的收件箱发送垃圾邮件,因为我们尊重隐私并厌恶垃圾邮件。感谢您访问我的博客。祝您编码愉快!

© . All rights reserved.