使用Coding4Fun工具包
Coding4Fun是一款很受WP开发者喜爱的开源类库,对于开发者来说,Coding4Fun上手很简单。只要从CodePlex下载Coding4Fun工具包,下载完成后,解压文件到一个文件夹中,里面有4个dll文件,列表如下:

新建一个Windows Phone 7项目,然后右键“引用”添加dll引用:

ProgressOverlay 动画
添加dll引用之后,我们就可以开始了,当我的RSS正在下载的时候需要一个ProgressOverlay动画或者“Loading Screen”。

在你需要控件的任何页面中添加以下命名空间:
- 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里面如果你是用MVVM或其他类似模型你要添加Visibility属性,当数据加载完成后要去关闭它。
关于对话框
现在我需要一个界面漂亮且具备功能强大的关于对话框,例如:如果他们点击我的twitter 、个人主页、E-mail 来发送相应的任务。

只需要一下几行代码就行了:
- var p = new AboutPrompt();
- p.VersionNumber = "2.0";
- p.Show("Michael
- Crump", "@mbcrump",
- "michael@michaelcrump.net", @http://michaelcrump.net/);
一个漂亮简洁的“关于”对话框只要几行代码就可以实现了。
输入框
Coding4Fun还带有一个漂亮可爱的输入提示框从用户抓取信息。

实现的代码也非常简单:
- InputPrompt input = new
- InputPrompt();
- input.Completed += (s, e) =>
- {
- MessageBox.Show(e.Result.ToString());
- };
- input.Title = "InputBox";
- input.Message = "What
- does a \"Developer Large\" T-Shirt Mean? ";
- input.Show();
PhoneHelper类
我非常喜欢PhoneHelper类,因为它让你很容易从WMAppManifest.xml文件获取数据,例如:从WMAppManifest.xml获取当前应用程序的版本。

只需以下这句代码就可以了:
- PhoneHelper.GetAppAttribute("Version");
当然你需要添加以下这句命名空间的引用:
- using Coding4Fun.Phone.Controls.Data;
如果没有一个强大的转换器你可能不那么容易去展示一些cool的控件。BooleanToVisibility 转换器可以将Boolean类型转换成Visibility类型值。
如勾选CheckBox的时候显示一个TextBox时就是一个好例子。

代码如下:
- <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} }"/>
RoundButton
Coding4Fun 工具包提供了RoundButton and RoundToggleButton 控件,RoundToggleButton是一个UI组件,源自CheckBox控件并且暴露了一些额外的依赖属性,正如它名字所说的。这是一种扩展圆形的切换按钮且有自动反向图像的支持。RoundButton控件是一个圆形的且提供自动反向图像支持的扩展按钮
在开始使用RoundButton 和 RoundToggleButton控件之前我们需要添加Coding4Fun.Phone.Controls.dll的引用
第一步:添加“C4F”的前缀声明,确保你的页面声明了“c4fToolkit” 的命名空间。
xmlns:c4f="clr-namespace:Coding4Fun.Phone.Controls;assembly=Coding4Fun.Phone.Controls"
<c4f:RoundButton/>
<c4f:RoundToggleButton/>
RoundToggleButton控件从CheckBox继承了所有的属性和事件,RoundButton 控件去Button控件中继承了所有的属性和事件
Content 属性
这个属性来来自父类用户设置 RoundToggleButton/RoundButton 的内容
ImageSource属性
ImageSource 是一个ImageSource类型的依赖属性,它用户设置或获取RoundToggleButton / RoundButton 控件的图片
Orientation属性
Orientation是一个Orientation类型的依赖属性,它用于设置或获取RoundToggleButton / RoundButton 控件的方向
Examples
下面的例子我将使用2个图标
注:图标会自动根据Light主题的变化而适当的变化
Example1:RoundButton 示例
这个例子演示了如何设置RoundButton控件常用属性,添加如下xaml 代码
<StackPanel Orientation="Horizontal">
<c4f:RoundButton FontSize="18" Content="OK" BorderBrush="CornflowerBlue" />
<c4f:RoundButton FontSize="48" Content="48" Background="CornflowerBlue" />
<c4f:RoundButton Foreground="CornflowerBlue" FontSize="36" Content="36"/>
<c4f:RoundButton ImageSource="Images/appbar.delete.rest.png" Content="Delete"/>
</StackPanel>
下面分别是在Dark and Light themes中的结果
Example2: RoundButton Orientation and ImageSource 属性的使用
<c4f:RoundButton Orientation="Horizontal" ImageSource="Images/appbar.feature.search.rest.png" Content="horizontal text"/>
Example3. RoundToggleButton控件示例
这个例子演示了如何设置RoundToggleButton控件常用属性,添加如下xaml 代码
<StackPanel Orientation="Horizontal">
<c4f:RoundToggleButton FontSize="18" Content="ok" BorderBrush="CornflowerBlue" /> <c4f:RoundToggleButton FontSize="48" Content="48" Background="CornflowerBlue" /> <c4f:RoundToggleButton Foreground="CornflowerBlue" FontSize="36" Content="36" />
<c4f:RoundToggleButton ImageSource="Images/appbar.delete.rest.png" Content="DELETE"/>
</StackPanel>
Example4: RoundToggleButton Orientation and ImageSource 属性的使用
<c4f:RoundToggleButton Orientation="Horizontal" ImageSource="Images/appbar.feature.search.rest.png" Content="horizontal text"/>
Example5: RoundButton and RoundToggleButton 控件的禁用
<c4f:RoundButton x:Name="btn" IsEnabled="False" Orientation="Horizontal" ImageSource="Images/appbar.delete.rest.png"
Content="disabled button" />
使用Coding4Fun工具包的更多相关文章
- Windows Phone 8初学者开发—第17部分:Coding4Fun工具包简介
原文 Windows Phone 8初学者开发—第17部分:Coding4Fun工具包简介 第17部分:Coding4Fun工具包简介 原文地址: http://channel9.msdn.com/ ...
- Windows Phone 8初学者开发—第21部分:永久保存Wav音频文件
原文 Windows Phone 8初学者开发—第21部分:永久保存Wav音频文件 第21部分:永久保存Wav音频文件 原文地址:http://channel9.msdn.com/Series/Win ...
- Windows Phone 8初学者开发—第20部分:录制Wav音频文件
原文 Windows Phone 8初学者开发—第20部分:录制Wav音频文件 原文地址:http://channel9.msdn.com/Series/Windows-Phone-8-Develop ...
- 【翻译】Awesome R资源大全中文版来了,全球最火的R工具包一网打尽,超过300+工具,还在等什么?
0.前言 虽然很早就知道R被微软收购,也很早知道R在统计分析处理方面很强大,开始一直没有行动过...直到 直到12月初在微软技术大会,看到我软的工程师演示R的使用,我就震惊了,然后最近在网上到处了解和 ...
- 【NLP】干货!Python NLTK结合stanford NLP工具包进行文本处理
干货!详述Python NLTK下如何使用stanford NLP工具包 作者:白宁超 2016年11月6日19:28:43 摘要:NLTK是由宾夕法尼亚大学计算机和信息科学使用python语言实现的 ...
- Coding4Fun Toolkit支持本地化解决办法
在项目中需要使用Coding4Fun Toolkit中的TimePicker控件, 1. 但是在中文系统下显示的却是英文: 2. 最后发现,需要在源代码中添加中文资源,并重新编译出包含中文语言的dll ...
- Werkzeug工具包学习-官方例子Shortly分析
为了学习werkzeug的wsgi框架工具,今天真对官网的例子进行调试运行.涉及到了werkzeug工具包,jinja2前端模版,以及redis内存库,之后可以灵活定制自己主页.再次,作以记录. 首先 ...
- Win10 UWP 开发系列:使用多语言工具包让应用支持多语言
之前我在一篇blog中写过如何使用多语言工具包,见http://www.cnblogs.com/yanxiaodi/p/3800767.html 在WinEcos社区也发布过一篇详细的文章介绍多语言工 ...
- Neo4j图数据库管理系统开发笔记之一:Neo4j Java 工具包
1 应用开发概述 基于数据传输效率以及接口自定义等特殊性需求,我们暂时放弃使用Neo4j服务器版本,而是在Neo4j嵌入式版本的基础上进行一些封装性的开发.封装的重点,是解决Neo4j嵌入式版本Emb ...
随机推荐
- Linux进程托管与守护进程设置
引言 在上一篇<Linux启动之旅>中,我们了解了Linux启动过程,在该过程的最后一步,init进程拉起/etc/init.d/rcN.d/目录下指定的守护进程(daemon).假若自定 ...
- win7下PHP+MySQL+CoreSeek中文检索引擎配置
1.Windows下的coreseek安装测试 (64位win7旗舰版) 官方参考:http://www.coreseek.cn/products-install/install_on_windows ...
- ASP.NET MVC环境下实现一个网站多个网站模板的方法
asp.net mvc下实现多个网站模板的方法,让ASP.NET一个网站有多套网站模板,不用的场景下使用不用的mvc 模版. 比如有默认,红,蓝,绿几种网站模板,客户可以根据自己喜好选择自己喜欢的网 ...
- urbuntu12.04 ftp服务器搭建
1.安装ftp服务器: sudo apt-get install vsftpd 2..配置ftp 修改ftp的配置文件,该文件在/etc目录下,在终端中键入如下命令以打开配置文件: sudo vi / ...
- jquery-事件之页面框架加载后自动执行
jQuery事件之页面框架加载后自动执行 1)概述 HTML执行是按自上而下编译,而<script>一般写在body结束之前.如果在HTML加载的过程中卡住, 比如加载图片等,没有显示出来 ...
- java 把被检查的异常转换为不检查的异常
一.当我们不知道该怎么处理这个异常,但是也不想把它"吞"了,或者打印一些无用的信息,可以使用异常链的思路解决.可以直接报"被检查的异常"包装进RuntimeEx ...
- Java第三阶段学习(十、XML学习)
一.XML学习 1.模拟Servlet执行 在学习完前端及java与数据库后,将进行WEB编程阶段的学习.在WEB编程中,可以通过浏览器访问WEB服务器上的数据.这时WEB服务器就相当于另一台计算机. ...
- fstab文件详解
挂载分区的位置 挂载点 分区格式 设置 备份自检 UUID=94e4e... / ext4 defaults,barrier=0 1 1 tmpfs /dev/shm tmpfs defaults 0 ...
- Ubuntu 18.04 上设置桌面程序开机自启动
需求 在新安装的 Ubuntu 18.04 系统上,将有些不可描述的程序开机之后自动启动 Startup Applications Preferences 打开 Startup Application ...
- java反射bean to bean
/** * Copyright © 2018 fwz Info. Tech Ltd. All rights reserved. * * @Package: com.sm.utils * @author ...