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

玩转Coding4Fun的Windows Phone 7控件

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.97/5 (10投票s)

2011年2月14日

CPOL

3分钟阅读

viewsIcon

44602

downloadIcon

620

看看Coding4Fun新推出的Windows Phone 7控件。

引言

image

我坚信应该有一个业余项目,您可能从我的“使用Silverlight构建个人网页”文章的第一句话中可以看出来。我目前的一个业余项目是重新制作我在应用商店中的当前WP7应用程序。我一开始就知道我需要一个“加载”动画和一个更好的“关于”框。在我开始自己开发后,我注意到Coding4Fun提供了一组很棒的WP7控件,并决定在我的新应用程序中使用它们。在继续之前,它们是免费和开源的。

该项目的完整源代码可以从这里下载。

获取资源

入门非常简单,只需转到CodePlex网站并点击下载按钮。

下载后,将其解压到文件夹中,您将拥有 4 个 DLL 文件。 它们列在下面

image

现在创建一个 Windows Phone 7 项目,并通过右键单击引用文件夹并单击“添加引用”来添加对 DLL 的引用。

image

ProgressOverlay 动画

添加引用后,我们就可以开始了。我需要一个ProgressOverlay动画或“加载屏幕”,以便在我的 RSS 源下载时显示。

SNAGHTMLc1ceea1

基本上,您只需要将以下命名空间添加到您想要控件所在的任何页面

xmlns:Controls="clr-namespace:Coding4Fun.Phone.Controls;
	assembly=Coding4Fun.Phone.Controls" 
<Controls:ProgressOverlay Name="progressOverlay" >
    <Controls:ProgressOverlay.Content>
        <TextBlock>Loading</TextBlock>
    </Controls:ProgressOverlay.Content>
</Controls:ProgressOverlay>		

好了,您现在有了一个很棒的加载屏幕。当然,在ProgressOverlay内部,您可能希望添加一个Visibility属性,以便在使用 MVVM 或类似模式加载数据后将其关闭。

一个更好的“关于框”

接下来,我需要一个漂亮干净的“关于框”,它看起来不错而且功能强大。 意思是,如果他们点击我的 Twitter 名称、网站或电子邮件,则启动相应的任务。

SNAGHTMLcbf4bf0

同样,这只需要几行代码

var p = new AboutPrompt();
p.VersionNumber = "2.0";
p.Show("Michael Crump", "@mbcrump", 
	"michael@michaelcrump.net", @"http://michaelcrump.net");

一个漂亮干净的“关于”框,只需几行代码! 我非常赞成我不必自己编写的代码。

InputBox

它还带有一个非常棒的 InputPrompt,用于从用户那里获取信息

SNAGHTMLcd1c370SNAGHTMLcd27216

这段代码也很简单

InputPrompt input = new InputPrompt();
input.Completed += (s, e) =>
                       {
                           MessageBox.Show(e.Result.ToString());
                       };
 
input.Title = "Input Box";
input.Message = "What does a \"Developer Large\" T-Shirt Mean? ";
input.Show(); 

PhoneHelper 类

我还很喜欢PhoneHelper,它允许您非常轻松地从WMAppManifest文件中获取数据。

例如,如果我想从WMAppManifest文件中获取版本信息。

image

我可以写一行代码来获取它。

PhoneHelper.GetAppAttribute("Version") 

当然,您需要确保添加以下using语句

using Coding4Fun.Phone.Controls.Data; 

如果没有一组很棒的转换器,你就不能拥有所有这些很酷的控件。 包含的BooleanToVisibility转换器会将布尔值与Visibility值相互转换。 当使用类似CheckBox来显示TextBox(选中时)时,这非常棒。 请参见下面的示例

SNAGHTML11d9642cSNAGHTML11dbaef1

代码如下

<phone:PhoneApplicationPage.Resources>
    <Converters:BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"/>
</phone:PhoneApplicationPage.Resources>
<CheckBox x:Name="checkBox"/>
<TextBlock Text="Display Text" Visibility="{Binding ElementName=checkBox, 
	Path=IsChecked, Converter={StaticResource BooleanToVisibilityConverter} }"/> 

这还不是包含的所有好东西。 它们还提供了一个RoundedButtonTimePicker和其他几个转换器。 文档很棒,如果您需要任何这些功能,我建议您尝试一下。 顺便说一句,感谢Brian Peek在 Coding4Fun 上所做的出色工作!

喜欢这篇文章吗?

alt 订阅我的源

© . All rights reserved.