使用Coding4Fun工具包

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

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

ProgressOverlay 动画

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

在你需要控件的任何页面中添加以下命名空间:

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

现在有了一个非常漂亮的加载屏幕了,当然在ProgressOverlay里面如果你是用MVVM或其他类似模型你要添加Visibility属性,当数据加载完成后要去关闭它。

关于对话框

现在我需要一个界面漂亮且具备功能强大的关于对话框,例如:如果他们点击我的twitter 、个人主页、E-mail 来发送相应的任务。

只需要一下几行代码就行了:

  1. var p = new AboutPrompt();
  2. p.VersionNumber = "2.0";
  3. p.Show("Michael
  4. Crump", "@mbcrump",
  5. "[email protected]", @http://michaelcrump.net/);

一个漂亮简洁的“关于”对话框只要几行代码就可以实现了。

输入框

Coding4Fun还带有一个漂亮可爱的输入提示框从用户抓取信息。

 

实现的代码也非常简单:

  1. InputPrompt input = new
  2. InputPrompt();
  3. input.Completed += (s, e) =>
  4. {
  5. MessageBox.Show(e.Result.ToString());
  6. };
  7. input.Title = "InputBox";
  8. input.Message = "What
  9. does a \"Developer Large\" T-Shirt Mean? ";
  10. input.Show();

PhoneHelper类

我非常喜欢PhoneHelper类,因为它让你很容易从WMAppManifest.xml文件获取数据,例如:从WMAppManifest.xml获取当前应用程序的版本。

只需以下这句代码就可以了:

  1. PhoneHelper.GetAppAttribute("Version");

当然你需要添加以下这句命名空间的引用:

  1. using Coding4Fun.Phone.Controls.Data;

如果没有一个强大的转换器你可能不那么容易去展示一些cool的控件。BooleanToVisibility 转换器可以将Boolean类型转换成Visibility类型值。

如勾选CheckBox的时候显示一个TextBox时就是一个好例子。

 

代码如下:

  1. <phone:PhoneApplicationPage.Resources>
  2. <Converters:BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"/>
  3. </phone:PhoneApplicationPage.Resources>
  4. <CheckBox x:Name="checkBox"/>
  5. <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" />

时间: 2024-10-08 11:35:50

使用Coding4Fun工具包的相关文章

ocatve 安装工具包

这个过程是通用的,win,linux平台下都试用. 但是linux下可以用更简单的方法 直接在源里即可安装 ,比如我在linux下安装image工具箱直接执行 apt-get install octave-image 即可 首先是知道自己需要安装哪个工具包,去官网上可以看到一些常见的工具包列表 http://octave.sourceforge.net/packages.php ,我要下载image这个工具包(默认octave不安装),首先点击image工具包后面的下载下载到本地. 然后打开oc

强大的整合工具包Compendium-TA v1.4.39 1CD

WaSP.Engineering.v2.0.0.121 1CD(风速极限.风切变.风压系数和复杂地形扰流的估算工具, 支持复杂地形的风力发电机和其他土木工程结构负荷测算) WaSP.Map.Editor.v9.1 1CD(风力气象预报和风力发电机和风电场产能预报的PC平台应用工具,它是行业标准的风力评估软件) Adasim产品: Adasim v1.1.9.205 1CD (形變分析軟體) BSI产品: FB-Pier.v3.21 1CD(非线性有限元素分析软件,用于分析由非线性圆柱桥墩和柱头组

matlab-bgl 工具包配置环境 TDM-GCC-64 mex

Windows 64 + Matlab 64 MEX混合编程初步: http://blog.csdn.net/enjoyyl/article/details/46545263 使用的是 TDM-GCCgccg For Matlab 2015 TDM-GCC-64 来自 51CTO下载-tdm64-gcc-4.9.2-3.zip matlab-bgl工具包下载: http://www.pudn.com/downloads737/sourcecode/math/detail2943220.html

Python自然语言工具包(NLTK)入门

在本期文章中,小生向您介绍了自然语言工具包(Natural Language Toolkit),它是一个将学术语言技术应用于文本数据集的 Python 库.称为“文本处理”的程序设计是其基本功能:更深入的是专门用于研究自然语言的语法以及语义分析的能力. 鄙人并非见多识广, 语言处理(linguistic processing) 是一个相对新奇的领域.如果在对意义非凡的自然语言工具包(NLTK)的说明中出现了错误,请您谅解.NLTK 是使用 Python 教学以及实践计算语言学的极好工具.此外,计

(转载)Linux网络配置和setup工具包安装

查看网卡是否正常安装 命令:lspci |grep Ether 1.修改网卡配置 命令: vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=none (dhct,static) HWADDR=00:14:2b:1b:22:20 IPV6INIT=YES IPV6_AUTOCONF=yes ONBOOT=yes NETMASK=255.255.255.0 IPADDR=192.168.1.241 GATEWAY=1

点击目标和设备工具包

要针对具体环境(手机.仿真器或桌面)生成应用程序,SDK需要了解您以哪些设备为目标(可以说所有设备).正因如此,在首次打开SDK时,或者在创建新项目时,它将指导您完成整个目标创建过程. 什么是点击目标? 它们是chroot.如果您熟悉Linux开发,您大概已经了解什么是chroot,但为明确起见,以下是简短说明: Chroot是新根目标的监狱.它们允许在您正在运行的环境上方创建一个新的虚设环境. 创建chroot是为不同类型的设备生成点击数据包的简便方式(例如,在桌面上为您的手机使用的体系结构生

打造你的专属工具包之Android篇

不知道大家有没有过这样的情况,做一个新项目的时候,需要用到一些之前写过的工具类,然后从之前写过的项目中Copy一份到新的项目中,这样的做法并没有什么大问题,只是工作重复性太高,不利于积累. 我们是否可以尝试另一种方案呢!将每次写过的工具类单独放到一个项目中,然后供其他项目来引用,而且可以一点点的完善这个工具包,最终成为你的开发利器. 下面我做个简单的例子来演示一下如何一步一步的打造你的专属工具包. 1 新建一个Android 项目——Landptf 这里面去掉了一些用不到的代码,只保留了两个pa

常用jdk【java开发工具包】下载

学习和开发办公常用的java开发工具包下载,jdk全系列 收集了常用的jdk1.4(32位).jdk5.0(32位).jdk6.0(32/64位).jdk7.(32/64位)0.jdk8.0(32/64位)各种版本的安装包.提供给需要的童鞋们下载了 下载地址:链接: http://pan.baidu.com/s/1pJlxPBP 提取码:s4la

[转]掌握 Dojo 工具包,第 2 部分: XHR 框架与 Dojo

作者:secooler 快乐的DBA Ajax 的兴起改变了传统的 B/S 结构应用程序中以页面为单位的交互模式,Ajax 引入的局部刷新机制带来了更好的用户体验,促使浏览器中的页面开始向应用程序发展,Google Mail, Google Reader 是在这种趋势下诞生的典型应用. Dojo 提供了基于 XmlHttpRequest 的对象的 XHR 框架来支持异步 Ajax 调用,另外 Dojo.io 包中提供了两种浏览器与服务器交互的方式:iframe. 隐藏框架和 script. 动态