WindowsPhone下拉刷新控件 – PullRefreshListBox(一)
最后更新于:2022-04-01 11:30:49
本文系本站原创,欢迎转载! 转载请注明出处:
[http://blog.csdn.net/mr_raptor/article/details/7259652](http://blog.csdn.net/mr_raptor/article/details/7259652)
**前言**
前几天做一个类似微博的项目,想用下Android和Iphone里的下拉刷新控件,WP7里肯定不会有这种控件,只能自己去试着写一写,正好,前几篇文章讲完,讲的是关于自定义控件的,因此,将自己写的WP7下的自定义下拉刷新控件拿出来分析下,作为前几篇文章的总结。如果您觉得不错,请顶一下,要源码的朋友,下面回复跟上邮箱,作者在第一时间发送给你。
**成果图:**
**说明:**Demo中是用了上下两个的下拉刷新控件,上面的数字下拉刷新控件是将ListBoxItem静态绑定上的,下面的控件通过绑定机制绑定到对象上去的。
图一,二是点击不同的项,都可以得到项索引或项内容。
图三,是当用户下拉列表时,上方显示下拉刷新动画效果和提示文字。
图四,是下拉时,下拉事件打印出的字符串,说明可以回调用户事件方法。
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d9b12fea.gif)
图一 ListBoxItem静态数据绑定,点击效果
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d9b2882c.gif)
图二 动态对象数据绑定,点击效果
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d9b3ebea.gif)
图三,下拉时,下拉动画及提示显示效果
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d9b55016.gif)
图四,下拉时,下拉事件回调输出
原创地址:[http://blog.csdn.net/mr_raptor/article/details/7259652](http://blog.csdn.net/mr_raptor/article/details/7259652)
**本控件主要实现了以下功能:**
1. 支持动画效果的下拉刷新
1. 支持动态绑定数据源
1. 支持静态ListBoxItem绑定
1. 支持ListBox自定义ItemTemplate模板
**源码下载地址:**
[http://download.csdn.net/detail/mr_raptor/4591131](http://download.csdn.net/detail/mr_raptor/4591131)
**思路分析:**
基本功能:
如果想让该控件支持下拉刷新列表,那么就意味在列表的最上部要添加一个Control,在用户没有下拉列表时,该Control不显示,当用户下拉列表到一定的距离时,该Control显示出来,并且有动画效果。
- 解决Control选择问题
- 解决用户操作及距离计算问题
- 动画效果添加
复杂功能:
我们还要让我们的下拉刷新控件支持ListBoxItem的自定义,否则只能显示单一的方式,因此,还要考虑和使用自定义模板的问题,除此之后,还有最重要的一个,当用户下瓣列表时,必需要有一个事件处理,用来回调用户定义方法来刷新数据。
- 解决ListBoxItem模板自定义问题
- 解决刷新事件处理问题
为解决上述两部分,本博文分为两节分别介绍,内容不可能太详细,适合有一定基础的朋友,让我们开始吧。
原创地址:[http://blog.csdn.net/mr_raptor/article/details/7259652](http://blog.csdn.net/mr_raptor/article/details/7259652)
**控件类型选择**
要实现下拉列表刷新功能,那么控件里必然要有显示数据的列表,根据前面文章 [WindowsPhone自定义控件详解(一)](http://blog.csdn.net/mr_raptor/article/details/7251942)里分析可知,ListBox列表控件是继承自ItemsControl,那么,我们就的控件肯定也是继承自ItemsControl或ListBox了,但是继承ListBox,通过自定义其Template,不太合适,因为那样无法保证刷新显示区效果,所以我选择继承ItemsControl。
结构如下:
PullRefreshListBox.cs:
~~~
public class PullRefreshListBox:ItemsControl{
public PullRefreshListBox()
{
this.DefaultStyleKey = typeof(PullRefreshListBox);
}
DependencyProperty SelectedItem{};
DependencyProperty SelectedIndex{};
DependencyProperty RefreshText{};
public override void OnApplyTemplate()
{
...
}
}
~~~
其中,加了三个依赖属性:SelectedItem, SelectedIndex, RefreshText,分别表示,当前列表中选择的Item项, 索引值,下拉刷新显示文字。
在OnApplyTemplate里,得到对应的样式文件里的元素引用。
原创地址:[http://blog.csdn.net/mr_raptor/article/details/7259652](http://blog.csdn.net/mr_raptor/article/details/7259652)
**样式模板:**
样式模板里主要用来定义下拉刷新控件里的布局,根据前面文章[ WindowsPhone自定义控件详解(二)](http://blog.csdn.net/mr_raptor/article/details/7251948)中基础可知,修改控件的布局应该是对其Template属性进行自定义。
而在下拉列表上部,要有一个用来装动画图片,以及显示的”正在刷新“等文字的下拉刷新效果区域,我用下图来表示我的布局。
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d9b694cc.gif)
下拉显示容器和列表显示容器我放到了一个Grid里,上面的下拉容器中又分为左和右 两部分,我用横向布局StackPanel来放置,另外,由于下拉显示容器在默认下是不显示的,设置其隐藏属性,当其显示 时应该在列表容器上面,所以注意它们的顺序。
**PullDownPanel:下拉容器StackPanel **
**RefreshImage:动画图片Image**
**RefreshTextBlock:提示文字TextBlock**
**列表容器:ScrollViewer**
**列表项:ItemsPresenter**
对应的样式文件里,结构如下:
Generic.xaml
~~~
<Style TargetType="local:PullRefreshListBox">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="local:PullRefreshListBox">
<Grid>
<ScrollViewer x:Name="ScrollViewer"
<ItemsPresenter x:Name="ItemsPresenter"/>
</ScrollViewer>
<StackPanel x:Name="PullDownPanel" Visibility="Collapsed"
<Image x:Name="RefreshImage" Width="32" Height="32"
Source="/PullRefreshListBox;component/Images/sync.png">
</Image>
<TextBlock x:Name="RefreshTextBlock" Text="{TemplateBinding RefreshText}"></TextBlock>
</StackPanel>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
~~~
样式文件里定义了元素,所以在代码文件PullRefreshListBox.cs中的OnApplyTemplate方法里添加如下代码,用来得到这些元素的引用:
~~~
// PullDown Panel Container
PullDownPanel = this.GetTemplateChild("PullDownPanel") as StackPanel;
RefreshTextBlock = this.GetTemplateChild("RefreshTextBlock") as TextBlock;
// The List ScrollViewer
ScrollViewer = this.GetTemplateChild("ScrollViewer") as ScrollViewer;
// The List Data items display Presenter
_ItemsContainer = this.GetTemplateChild(ItemsPresenterName) as ItemsPresenter;
~~~
原创地址:[http://blog.csdn.net/mr_raptor/article/details/7259652](http://blog.csdn.net/mr_raptor/article/details/7259652)
到了这里,基本结构已经搭完了,还没有剧情,具体的剧情,下篇分解。
本文系本站原创,欢迎转载! 转载请注明出处:
[http://blog.csdn.net/mr_raptor/article/details/7259652](http://blog.csdn.net/mr_raptor/article/details/7259652)
WindowsPhone自定义控件详解(三) – 实战:自定义带水印的PasswordBox控件,WatermarkedPasswordBox
最后更新于:2022-04-01 11:30:47
本文系本站原创,欢迎转载! 转载请注明出处:
[http://blog.csdn.net/mr_raptor/article/details/7251992](http://blog.csdn.net/mr_raptor/article/details/7251992)
声明:这个控件是在WatermarkedTextBox的基础上改的。
- 从[http://www.windowsphonegeek.com/articles/WP7-WatermarkedTextBox-custom-control](http://www.windowsphonegeek.com/articles/WP7-WatermarkedTextBox-custom-control)上下载WatermarkedTextBox控件
[原创地址:](http://blog.csdn.net/mr_raptor/article/details/7251992)[http://blog.csdn.net/mr_raptor/article/details/7251992](http://blog.csdn.net/mr_raptor/article/details/7251992)[](http://blog.csdn.net/mr_raptor/article/details/7251992)
**原理分析:**
在PasswordBox后面加水印和在TextBox后面加水印差不多,有以下要求:
1. PasswordBox里没内容时,显示水印
1. PasswordBox里有内容时,不显示水印,而显示内容
最简单的想法就是,在PasswordBox控件后面加上一个类似TextBlock的控件,然后重写焦点回调方法,当有焦点时,水印不显示,无焦点时,根据是否有内容而决定是否显示水印。
思路如上,下面开始分析WatermarkedTextBox的代码,看看它的作者是不是和我们想法一样。
**一、 分析WatermarkedTextBox代码**
1. themes/generic.xaml
自定义控件的样式文件必须要以generic.xaml命名,放到themes目录中。
~~~
<ControlTemplate x:Key="PhoneDisabledTextBoxTemplate" TargetType="TextBox"> <ContentControl x:Name="ContentElement" BorderThickness="0" HorizontalContentAlignment="Stretch" Margin="{StaticResource PhoneTextBoxInnerMargin}" Padding="{TemplateBinding Padding}" VerticalContentAlignment="Stretch"/> </ControlTemplate> <Style TargetType="local:WatermarkedTextBox"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="local:WatermarkedTextBox"> <Grid Background="Transparent"> <Border x:Name="EnabledBorder"> <Grid> <ContentControl x:Name="watermarkContent" Style="{TemplateBinding WatermarkStyle}" Content="{TemplateBinding Watermark}" Background="Transparent" Opacity="0.5"/> <ContentControl x:Name="ContentElement" BorderThickness="0" VerticalContentAlignment="Stretch"/> </Grid> </Border> <Border x:Name="DisabledOrReadonlyBorder" Background="Transparent" Visibility="Collapsed"> <TextBox x:Name="DisabledOrReadonlyContent" Background="Transparent" IsReadOnly="True" Text="{TemplateBinding Text}" Template="{StaticResource PhoneDisabledTextBoxTemplate}"/> </Border> </Grid> </ControlTemplate> </Setter.Value> </Setter> </Style>
~~~
*注:上面省略了一部分无关紧要代码。*
[http://blog.csdn.net/mr_raptor/article/details/7251992](http://blog.csdn.net/mr_raptor/article/details/7251992)
上面的XAML文件,定义了WatermarkedTextBox的样式:
- 文件开始,定义了一个ControlTemplate元素,由前两节知识可知,它是要对一个控件设置模板,从后面的TargetType="TextBox"可知,是针对TextBox类型控件,它里面自定义了一个ContentControl类名字为ContentElement。
- 通过TargetType="local:WatermarkedTextBox" 可知,它是针对WatermarkedTextBox的控件样式。
- 在EnabledBorder里定义了两个内容控件元素:watermarkContent和ContentElement,watermarkContent里,绑定了依赖属性Watermark(在WatermarkTextBox.cs里声明)。
- 在下面的DisabledOrReadonlyBorder里面是一个TextBox 控件,它绑定了WatermarkedTextBox里的Text属性,同时这个TextBox 控件,的模板设置为:PhoneDisabledTextBoxTemplate,它这么做的目的是,可以设置WatermarkedTextBox的属性为Disabled,这时,水印就消失了,而显示原先的TextBox控件。
2. WatermarkTextBox.cs
~~~
namespace WatermarkedTextBoxControl{ public class WatermarkedTextBox : TextBox { ContentControl WatermarkContent; public static readonly DependencyProperty WatermarkProperty = DependencyProperty.Register("Watermark", typeof(object), typeof(WatermarkedTextBox), new PropertyMetadata(OnWatermarkPropertyChanged)); public static readonly DependencyProperty WatermarkStyleProperty = DependencyProperty.Register("WatermarkStyle", typeof(Style), typeof(WatermarkedTextBox), null); public Style WatermarkStyle { get { return base.GetValue(WatermarkStyleProperty) as Style; } set { base.SetValue(WatermarkStyleProperty, value); } } public object Watermark { get { return base.GetValue(WatermarkProperty) as object; } set { base.SetValue(WatermarkProperty, value); } } public WatermarkedTextBox() { DefaultStyleKey = typeof(WatermarkedTextBox); } public override void OnApplyTemplate() { base.OnApplyTemplate(); this.WatermarkContent = this.GetTemplateChild("watermarkContent") as ContentControl; if(WatermarkContent != null) { DetermineWatermarkContentVisibility(); } } protected override void OnGotFocus(RoutedEventArgs e) { if (WatermarkContent != null && string.IsNullOrEmpty(this.Text)) { this.WatermarkContent.Visibility = Visibility.Collapsed; } base.OnGotFocus(e); } protected override void OnLostFocus(RoutedEventArgs e) { if (WatermarkContent != null && string.IsNullOrEmpty(this.Text)) { this.WatermarkContent.Visibility = Visibility.Visible; } base.OnLostFocus(e); } private static void OnWatermarkPropertyChanged(DependencyObject sender, DependencyPropertyChangedEventArgs args) { WatermarkedTextBox watermarkTextBox = sender as WatermarkedTextBox; if(watermarkTextBox != null && watermarkTextBox.WatermarkContent !=null) { watermarkTextBox.DetermineWatermarkContentVisibility(); } } private void DetermineWatermarkContentVisibility() { if (string.IsNullOrEmpty(this.Text)) { this.WatermarkContent.Visibility = Visibility.Visible; } else { this.WatermarkContent.Visibility = Visibility.Collapsed; } } } }}
~~~
[原创地址:](http://blog.csdn.net/mr_raptor/article/details/7251992)[http://blog.csdn.net/mr_raptor/article/details/7251992](http://blog.csdn.net/mr_raptor/article/details/7251992)[](http://blog.csdn.net/mr_raptor/article/details/7251992)
由这个WatermarkedTextBox类可知:
- 它继承了TextBox类
- 增加了Watermark和WatermarkStyle两个依赖属性,用于用户设置它的水印内容和样式,在Watermark属性里添加了属性改变事件:OnWatermarkPropertyChanged
- 重载了OnApplyTemplate方法来取得generic.xaml文件里声明的元素引用:watermarkContent,并且根据generic.xaml里的TextBox :DisabledOrReadonlyContent,取得它里面是否有内容,如果有内容,则WatermarkContent不可见,否则WatermarkContent可见。
- 重载了OnGotFocus,OnLostFocus,当该自定义控件得到焦点时,设置WatermarkContent不可见,否则WatermarkContent可见。
由上面的分析可知,当用户设置了自定义控件的Watermark属性时,回调注册的OnWatermarkPropertyChanged方法,在该方法里,判断是否WatermarkContent里有内容,如果有,WatermarkContent不可见,否则WatermarkContent可见。两样,重载了OnGotFocus,OnLostFocus,在得到和失去焦点时也要判断是否将WatermarkContent设置为可见与否。
**二、 自定义WatermarkedPasswordBox**
根据前面的分析,我们可以试着做以下修改:
- 新建类WatermarkedPasswordBox
- 将WatermarkTextBox.cs拷贝到类WatermarkedPasswordBox里,改下类名,让WatermarkedPasswordBox继承了Password类
- 在themes/generic.xaml里,拷贝 <Style TargetType="local:WatermarkedPasswordBox">里的全部代码,改为WatermarkedPasswordBox的代码,中间细节自己改就行了,我们不打算支持Disabled属性,所以DisabledOrReadonlyBorder去掉就行了,将EnabledBorder里的ContentElement去掉,换成PasswordBox,名字还是ContentElement
编译时,错误出现了:WatermarkedPasswordBox里this.Text出错,这是因为Password没有Text属性,它有个Password属性,所以要做下面的修改:
- 让WatermarkedPasswordBox类继承TextBox,但是添加一个属性:PasswordBox类型的PasswordContent
- 在OnApplyTemplate方法里,获得自己加的PasswordBox控件的引用ContentElement,为PasswordBox控件添加PasswordChanged事件,当密码框里内容改变时,将TextBox的Text属性的值为PasswordBox.Password的值
- 同样,在XAML样式文件里,在PasswordBox控件里加上 Password="{TemplateBinding Text}"
修改后的代码如下:
XAML:
`<Style TargetType="local:WatermarkedPasswordBox"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="local:WatermarkedPasswordBox"> <Grid Background="Transparent"> <Border x:Name="EnabledBorder" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Margin="{StaticResource PhoneTouchTargetOverhang}"> <Grid> <ContentControl x:Name="watermarkContent" Style="{TemplateBinding WatermarkStyle}" Content="{TemplateBinding Watermark}" Background="Transparent" Opacity="0.5"/> <PasswordBox x:Name="ContentElement" Background="Transparent" Password="{TemplateBinding Text}" BorderThickness="0" HorizontalContentAlignment="Stretch" Margin="-12,-12,-12,-12" VerticalContentAlignment="Stretch"/> </Grid> </Border> </Grid> </ControlTemplate> </Setter.Value> </Setter> </Style>`
原创地址:[http://blog.csdn.net/mr_raptor/article/details/7251992](http://blog.csdn.net/mr_raptor/article/details/7251992)
C#:
~~~
public class WatermarkedPasswordBox : TextBox { ContentControl WatermarkContent; private PasswordBox PasswordContent; public object Watermark { get { return base.GetValue(WatermarkProperty) as object; } set { base.SetValue(WatermarkProperty, value); } } public static readonly DependencyProperty WatermarkProperty = DependencyProperty.Register("Watermark", typeof(object), typeof(WatermarkedPasswordBox), new PropertyMetadata(OnWatermarkPropertyChanged)); private static void OnWatermarkPropertyChanged(DependencyObject sender, DependencyPropertyChangedEventArgs args) { WatermarkedPasswordBox watermarkTextBox = sender as WatermarkedPasswordBox; if (watermarkTextBox != null && watermarkTextBox.WatermarkContent != null) { watermarkTextBox.DetermineWatermarkContentVisibility(); } Debug.WriteLine("OnWatermarkPropertyChanged"); } public Style WatermarkStyle { get { return base.GetValue(WatermarkStyleProperty) as Style; } set { base.SetValue(WatermarkStyleProperty, value); } } public static readonly DependencyProperty WatermarkStyleProperty = DependencyProperty.Register("WatermarkStyle", typeof(Style), typeof(WatermarkedPasswordBox), null); public WatermarkedPasswordBox() { DefaultStyleKey = typeof(WatermarkedPasswordBox); } public override void OnApplyTemplate() { base.OnApplyTemplate(); this.WatermarkContent = this.GetTemplateChild("watermarkContent") as ContentControl; this.PasswordContent = this.GetTemplateChild("ContentElement") as PasswordBox; if (WatermarkContent != null && WatermarkContent != null) { PasswordContent.PasswordChanged += new RoutedEventHandler(PasswordContent_PasswordChanged); DetermineWatermarkContentVisibility(); } } void PasswordContent_PasswordChanged(object sender, RoutedEventArgs e) { PasswordBox passwdBx = sender as PasswordBox; this.Text = passwdBx.Password; } protected override void OnGotFocus(RoutedEventArgs e) { if (WatermarkContent != null && WatermarkContent != null && string.IsNullOrEmpty(this.PasswordContent.Password)) { this.WatermarkContent.Visibility = Visibility.Collapsed; } base.OnGotFocus(e); } protected override void OnLostFocus(RoutedEventArgs e) { if (WatermarkContent != null && WatermarkContent != null && string.IsNullOrEmpty(this.PasswordContent.Password)) { this.WatermarkContent.Visibility = Visibility.Visible; } base.OnLostFocus(e); } private void DetermineWatermarkContentVisibility() { if (string.IsNullOrEmpty(this.PasswordContent.Password)) { this.WatermarkContent.Visibility = Visibility.Visible; } else { this.WatermarkContent.Visibility = Visibility.Collapsed; } } }
~~~
编译通过,将生成的库引入到Demo程序里,然后将控件加上,成功,效果如下。
左图,未输入内容,显示水印,右图,输入内容时显示效果。
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d9ad4f88.gif)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d9aed160.gif)
本文系本站原创,欢迎转载! 转载请注明出处:
[http://blog.csdn.net/mr_raptor/article/details/7251992](http://blog.csdn.net/mr_raptor/article/details/7251992)[](http://blog.csdn.net/mr_raptor/article/details/7251960)[](http://blog.csdn.net/mr_raptor/article/details/7251942)
WindowsPhone自定义控件详解(二) – 模板类库分析
最后更新于:2022-04-01 11:30:45
本文系本站原创,欢迎转载! 转载请注明出处:
[http://blog.csdn.net/mr_raptor/article/details/7251948](http://blog.csdn.net/mr_raptor/article/details/7251948)
### [WindowsPhone自定义控件详解(一) - 控件类库分析](#)
[上一节主要分析了控件类库,控件类之间的继承关系,通过继承关系,可以知道一些属性,事件的源头和机制。](http://blog.csdn.net/mr_raptor/article/details/7251942)
本节开始介绍模板类库,并加实例说明和展示。
基类自定义时都要用到模板,在框架中所有的模板都是FrameworkTemplate的子类,包括:
1. **ControlTemplate**
1. **ItemsPanelTemplate**
1. **DataTemplate**
通过上节对控件的继承关系的分析,你已经可以理解为什么有上面的三种模板了吧。
无非就是对三种控件分类的,三种模板。即:
> Control类模板对应ControlTemplate
> ItemsControl类模板对应ItemsPanelTemplate
> ContentControl、ItemTemplate类模板对应DataTemplate
下面分别来解释三种模板。
**一、 模板类详解**
继承关系:
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d9a71bbd.gif)
由上图可知,控件对象模板,项集合模板和数据对象模板都是继承自FrameworkTemplate类,
1. ControlTemplate主要用于自定义控件的**操作行为**和**视图结构**的外观显示效果。如:当按钮按下时如何显示等,按钮上要不要同时显示图片和文本。
- 通过设置控件的Template属性(继承自Control)来应用自定义的ControlTemplate
2. ItemsPanelTemplate主要用于自定义带有列表项的控件中各子控件的**布局外观**显示效果,如:ListBox中的列表项怎样对布局。
- 通过设置控件的ItemsPanel属性来应用自定义的ItemsPanelTemplate
3. DataTemplate主要用于自定义内容控件中的**数据视图**效果,如:ListBox中每一项显示什么数据。
- 通过设置控件的ItemTemplate /ContentTemplate属性来应用自定义的DataTemplate,注意:一个控件上可能应用多个自定义模板,如:ListBox设置ListBox的列表项Items为横向排列,设置每个列表项里布局和数据,这样就要设置ListBox的ItemsPanelTemplate和DataTemplate。
**原创地址:[http://blog.csdn.net/mr_raptor/article/details/7251948](http://blog.csdn.net/mr_raptor/article/details/7251948)[](http://blog.csdn.net/mr_raptor/article/details/7227260)**
### ControlTemplate类
定义控件的视图显示模板,从而可以对控件进行自定义。在模板内可以构建自己的控件对象树。
**注意:**
- 如果您正在定义一个控件模板来取代一个现有控件类的模板,则您用于定义控件模板内容的 XAML 应与现有的控件匹配。否则,该控件可能无法在用户界面中正常发挥作用。
- 不能将 ControlTemplate 应用于 UserControl(上一节有说明为什么)。
例如:为 Button 创建一个简单的 ControlTemplate。控件模板包含一个Grid 并指定以下行为:
· 当用户将鼠标悬停在Button 上方时,Grid 在半秒之后从绿色变为红色。
· 当用户将鼠标移离按钮时,Grid 立即变回到绿色。
~~~
<ControlTemplate TargetType="Button">
<Grid >
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualStateGroup.Transitions>
<!--Take one half second to trasition to the MouseOver state.-->
<VisualTransition To="MouseOver" GeneratedDuration="0:0:0.5"/>
</VisualStateGroup.Transitions>
<VisualState x:Name="Normal" />
<!--Change the SolidColorBrush, ButtonBrush, to red when the
mouse is over the button.-->
<VisualState x:Name="MouseOver">
<Storyboard>
<ColorAnimation Storyboard.TargetName="ButtonBrush"
Storyboard.TargetProperty="Color" To="Red" />
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Grid.Background>
<SolidColorBrush x:Name="ButtonBrush" Color="Green"/>
</Grid.Background>
</Grid>
</ControlTemplate>
~~~
### ItemsPanelTemplate 类
ItemsPanelTemplate定义ItemsControl中的Item项布局的模板。ItemsControl 的默认值是一个指定StackPanel的ItemsPanelTemplate。例如:ListBox是一个ItemsControl子控件,它的Item项布局模板ItemsPanelTemplate为默认的StackPanel,而StackPanel默认布局是垂直布局,因此,默认的ListBox的Item项垂直布局的,当我们向ListBox里添加Item时,都是垂直列表形式,如果你想要自定义你的ListBox风格为水平显示,那么将要自定义ItemsPanelTemplate里StackPanel为水平方向。
如下例,将ListBox的风格改为水平子项显示方式。
模板XAML:
~~~
<Grid>
<Grid.Resources>
<Style x:Key="horizontalListBoxStyle" TargetType="ListBox">
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"
VerticalAlignment="Center"
HorizontalAlignment="Center"/>
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
</Style>
<src:Items x:Key="items"/>
</Grid.Resources>
<ListBox ItemsSource="{StaticResource items}"
Style="{StaticResource horizontalListBoxStyle}"/>
</Grid>
~~~
C#代码:
~~~
public class Items :
System.Collections.ObjectModel.ObservableCollection<string>
{
public Items()
{
Add("Item 1");
Add("Item 2");
Add("Item 3");
Add("Item 4");
Add("Item 5");
}
}
~~~
显示效果如下:
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d9a837fe.gif)
**总结:**
ItemsPanelTemplate主要用于带有Item项的控件风格布局模板设置,常见的控件就是ListBox,
**原创地址:[http://blog.csdn.net/mr_raptor/article/details/7251948](http://blog.csdn.net/mr_raptor/article/details/7251948)[](http://blog.csdn.net/mr_raptor/article/details/7227260)**
### DataTemplate 类
用于定义内容控件内数据对象的可视结构模板。虽然内容控件只能包含一个UIElement,但是,它可以包含一个容器控件,从而可以间接的包含多个子控件,而DataContent就是为这些容器控件里的子控件进行布局的模板类。
下面的例子,自定了ListBox中每一项中的UI如何表现。每一个Item中包含四个水平布局的TextBlock控件,每个TextBlock控件都绑定了Customers的属性。
XAML:
~~~
<Grid>
<Grid.Resources>
<src:Customers x:Key="customers"/>
</Grid.Resources>
<ListBox ItemsSource="{StaticResource customers}" Width="350" Margin="0,5,0,10">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Padding="5,0,5,0"
Text="{Binding FirstName}" />
<TextBlock Text="{Binding LastName}" />
<TextBlock Text=", " />
<TextBlock Text="{Binding Address}" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
~~~
C#:
~~~
public class Customer
{
public String FirstName { get; set; }
public String LastName { get; set; }
public String Address { get; set; }
public Customer(String firstName, String lastName, String address)
{
this.FirstName = firstName;
this.LastName = lastName;
this.Address = address;
}
}
public class Customers : ObservableCollection<Customer>
{
public Customers()
{
Add(new Customer("Michael", "Anderberg",
"12 North Third Street, Apartment 45"));
Add(new Customer("Chris", "Ashton",
"34 West Fifth Street, Apartment 67"));
Add(new Customer("Cassie", "Hicks",
"56 East Seventh Street, Apartment 89"));
Add(new Customer("Guido", "Pica",
"78 South Ninth Street, Apartment 10"));
}
}
~~~
**二、其它**
**原创地址:[http://blog.csdn.net/mr_raptor/article/details/7251948](http://blog.csdn.net/mr_raptor/article/details/http://blog.csdn.net/mr_raptor/article/details/7251948)[](http://blog.csdn.net/mr_raptor/article/details/7227260)**
**DataContext类**
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d9abfd29.gif)
DataContext是FrameworkElement的属性,是Object类型,用于获取或设置 FrameworkElement 参与数据绑定时的数据上下文。也就是说它是被数据绑定的对象。
DataContext也就是第四代控件祖宗的属性(说实话,控件从第三代祖宗UIElement开始才有了外观,有了点人样),
如果你给它绑定了数据源,CLR就会从数据源里拿出对应数据用于显示,DataContext有传递性,如果外部包含控件设置了DataContext,被包含控件没有设置该属性,则被包含控件也可以使用外部包含控件的DataContext。
比如:
XAML:
~~~
<phone:PhoneApplicationPage.Resources>
<local:WeiBoData x:Key="MyWeiBoData"/>
</phone:PhoneApplicationPage.Resources>
<Grid x:Name="LayoutRoot" Background="Transparent" DataContext="{StaticResource MyWeiBoData}">
<StackPanel Grid.Row="0" Margin="12,17,0,28">
<TextBlock x:Name="DateTextBlock" Text="{Binding WeiBoDate}" >
<TextBlock x:Name="TitleTextBlock" Text="{Binding WeiBoTitle}" />
</StackPanel>
</Grid>
~~~
WeiBoData类中包含有WeiBoDate属性和WeiBoTitle属性,虽然没有指定两个TextBlock的绑定对象,但是它有Grid控件的DataContext。
在后续两节,我们分别以这两节的知识,分享两个例子:
**自定义水印密码输入控件**和**下拉刷新控件**。
注:上述两个控件经常使用,并且方便快捷。
本文系本站原创,欢迎转载! 转载请注明出处:
[http://blog.csdn.net/mr_raptor/article/details/7251948](http://blog.csdn.net/mr_raptor/article/details/http://blog.csdn.net/mr_raptor/article/details/7251948)[](http://blog.csdn.net/mr_raptor/article/details/7227260)
WindowsPhone自定义控件详解(一) – 控件类库分析
最后更新于:2022-04-01 11:30:43
本文系本站原创,欢迎转载! 转载请注明出处:
[http://blog.csdn.net/mr_raptor/article/details/7251942](http://blog.csdn.net/mr_raptor/article/details/7251942)
为了让你的应用程序更有个性,我们通常会在WP7开发过程中会自定义自己风格的控件,自定义控件中设置各种模板,绑定数据,修改控件行为,但是对于很多朋友来说,这么做是为什么? 不是很清楚,看MSDN的话,又一时找不到头绪,本文就是从控件类库的继承关系里来剖析出自定义控件中的为什么?如果你觉得本文观点独特,对你有很大帮助,请顶之,谢谢。
**一、 控件分类**
让我们先从我们熟悉的控件分类开始,因为这样理解更直观。
WP7里基本控件可以分为以下四类:
1. 文本控件:主要用于显示和输入文本
2.内容控件:主要用于包含一个子控件元素UIElement(UIElement是所有可视UI控件的基类,我叫它第三代控件祖宗)
3.项集合控件:从名字可以知道,它是包含有多个子项的控件,如ListBox
4.容器控件:它可以包含有多个子控件元素(UIElement)
如下表所示,常用基本控件。
<table border="1" cellspacing="0" cellpadding="0" width="81%"><tbody><tr><td valign="top"><p align="center">控件</p></td><td valign="top"><p align="center">控件类型</p></td><td valign="top"><p align="center">内容属性</p></td></tr><tr><td valign="top"><p align="left">TextBlock</p></td><td valign="top"><p align="left">文本控件</p></td><td valign="top"><p align="left">TextBlock.Text</p><p align="left">TextBlock.Inlines</p></td></tr><tr><td valign="top"><p align="left">TextBox</p></td><td valign="top"><p align="left">文本控件</p></td><td valign="top"><p align="left">TextBox.Text</p></td></tr><tr><td valign="top"><p align="left">PasswordBox</p></td><td valign="top"><p align="left">文本控件</p></td><td valign="top"><p align="left">PasswordBox.Password</p></td></tr><tr><td valign="top"><p align="left">Button</p></td><td valign="top"><p align="left">内容控件</p></td><td valign="top"><p align="left">ContentControl.Content</p></td></tr><tr><td valign="top"><p align="left">CheckBox</p></td><td valign="top"><p align="left">内容控件</p></td><td valign="top"><p align="left">ContentControl.Content</p></td></tr><tr><td valign="top"><p align="left">RadioButton</p></td><td valign="top"><p align="left">内容控件</p></td><td valign="top"><p align="left">ContentControl.Content</p></td></tr><tr><td valign="top"><p align="left">ListBoxItem</p></td><td valign="top"><p align="left">内容控件</p></td><td valign="top"><p align="left">ContentControl.Content</p></td></tr><tr><td valign="top"><p align="left">ListBox</p></td><td valign="top"><p align="left">项集合控件</p></td><td valign="top"><p align="left">ItemsControl.Items</p><p align="left">ItemsControl.ItemsSource</p></td></tr><tr><td valign="top"><p align="left">Canvas</p></td><td valign="top"><p align="left">容器控件</p></td><td valign="top"><p align="left">Panel.Children</p></td></tr><tr><td valign="top"><p align="left">Grid</p></td><td valign="top"><p align="left">容器控件</p></td><td valign="top"><p align="left">Panel.Children</p></td></tr><tr><td valign="top"><p align="left">StackPanel</p></td><td valign="top"><p align="left">容器控件</p></td><td valign="top"><p align="left">Panel.Children</p></td></tr></tbody></table>
原创地址: [http://blog.csdn.net/mr_raptor/article/details/7251942](http://blog.csdn.net/mr_raptor/article/details/7251942)
**二、主要控件基类**
System.Windows.Controls命名空间下,包含以下几个主要的控件基类:
- **Control**
- **ContentControl**
- **ItemsControl**
- **Panel**
**1. Control:表示用户界面控件的基类**
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d9a1c15c.gif)
**主要属性:**
- Control.Template 属性:
通过将ControlTemplate应用给Control.Template 属性来定义其外观。所有继承自Control类的子类,都继承Template属性,也就意味着,你可以通过自定义ControlTemplate来实现Control子控件的自定义。
注意:它有一个子类UserControl,用于快速创建控件,不过,你不能自定义ControlTemplate,并将它应用于UserControl。
**主要事件:**
- GotFocus,LostFocus
当控件获得或失去焦点时回调
- MouseLeftButtonUp ,MouseMove ,MouseLeftButtonDown
当控件被点击,移动时分别回调
- ManipulationStarted ,ManipulationDelta, ManipulationCompleted
当用户对控件开始进行操作时回调ManipulationStarted,当用户对控件操作并更改位置时回调ManipulationDelta,当用户对控件停止操作时,回调ManipulationCompleted。
- SizeChanged
当代表控件大小的ActualHeight 或 ActualWidth属性改变时回调
**2. ContentControl:是其他内容控件的基类,表示包含单项元素的内容控件。像 Button、CheckBox 和 ScrollViewer 这样的控件直接或间接继承自该类。**
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d9a34428.gif)
**主要属性:**
- ContentControl. Content 属性:
ContentControl.Content 属性可以是任何类型的对象,例如字符串、UIElement 或 DateTime。当ContentControl.Content 设置为 UIElement 时,ContentControl 中将显示 UIElement。当ContentControl.Content 设置为其他类型的对象时,ContentControl 中将显示该对象的字符串表示形式。
***注意:***ContentControl 具有有限的默认样式。如果要增强该控件的外观,可以创建新的 DataTemplate类型属性用于自定义。
- ContentControl. ContentTemplate属性:
它是一个DataTemplate对象元素,定义该ContentControl的内容显示外观。
原创地址: [http://blog.csdn.net/mr_raptor/article/details/7251942](http://blog.csdn.net/mr_raptor/article/details/7251942)
**3. ItemsControl:是项集合类的基类。**
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d9a4a5f3.gif)
**主要属性:**
- Items属性:
如果要显示固定列表,则应当用一个或多个 FrameworkElement 子对象填充ItemsControl .Items属性,并且不要指定ItemsSource。
- ItemsSource属性:
如果要显示对象数据源中的数据,则应将ItemsSource指定为对某个对象的引用。 通常,这可通过 Binding 声明来实现,
- ItemsPanel属性:
设置该属性来自定义项集合控件的布局方式,是一个ItemsPanelTemplate类型元素。
- ItemTemplate属性:
设置该属性来指定项集合控件中,每一个Item项的数据显示外观,是一个DataTemplate类型元素。
**4. Panel: 是容器控件的基类,比如:Canvas, Grid, StackPanel。**
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d9a5e862.gif)
自定义布局行为可以通过以下方式来实现:从 Panel 继承并使用 MeasureOverride 和 ArrangeOverride 方法重写默认度量和排列行为。
原创地址: [http://blog.csdn.net/mr_raptor/article/details/7251942](http://blog.csdn.net/mr_raptor/article/details/7251942)
上面解释的基类中的主要属性和方法是我们在自定义控件时去修改的东西,通过中间的继承关系图可以看得出,Panel类与Control类没有任何继承关系,这也就从祖宗这辈上决定了其孩子的特性不一样,所以在对两个大分支类进行自定义时不一样,Panel类主要是包含其它控件的容器控件,对容器控件的主要自定义就是设置不同的被包含控件之间的布局,因此重载其两个测量方法。而Contorl类是用户交互类,有外观,有交互操作,对其子类主要是自定义其外观和操作,也就是说,通过设置其Template属性和重载具体的事件来达到目的。
- ContentControl类是Control类的子类,它有Control的特点,不过,它是内容控件,主要用来包含一个UIElement。
- 既然包含一个UIElement,就要设置这个UIElement的内容,即:Content属性。
- 通过ContentTempalte来定义这个被包含的UIElement的外观,因此,如果要自定义外观那就是重新创建新的DataTempalte,应用到ContentTempalte属性喽。
- ItemsControl类是Control类的子类,同样继承了该继承的东西,它是个项集合类,可以包含多个子项Item。
- 它有Items属性和ItemsSource让用户来指定包含哪些子项。
- 各子项之间要怎样布局,就有了ItemtPanel属性用来让用户指定。
- 每一个子项是一个内容控件,它具有ContentControl的特点,因此还要通过ItemTempalte属性指定每一个项的外观。
本文系本站原创,欢迎转载! 转载请注明出处:
[http://blog.csdn.net/mr_raptor/article/details/](http://blog.csdn.net/mr_raptor/article/details/7227260)[7251942](http://blog.csdn.net/mr_raptor/article/details/7251942)[](http://blog.csdn.net/mr_raptor/article/details/7227260)[](http://blog.csdn.net/mr_raptor/article/details/7212155)
Windows Phone 7 处理休眠和墓碑的恢复
最后更新于:2022-04-01 11:30:40
WP7程序的生命周期如下图所示:
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d99b226f.jpg)
休眠状态和墓碑状态这两个状态会比较容易让人混淆的,休眠状态时,程序停止运行,但不同的是此时整个进程还是存在于内存中。当恢复这个程序时,就不需要创建一个新的实例。这样就加快了程序恢复和切换的速度,并且从休眠状态恢复时我们不需要去恢复墓碑数据。一般情况下点击home键,程序会进入休眠状态,当前台程序在运行过程中,内存不足或者不足以让程序流畅运行时,系统会执行一些操作来释放内存,此时程序就可能从休眠状态变换为的墓碑状态。一个程序进入到墓碑状态时,其进程被终止掉,但是程序的回退栈中的信息,以及我们保存的一些信息会保留在内存中。
程序恢复时会触发Application类中的Activated 事件,我们可以通过检查IsApplicationInstancePreserved参数来判断程序是从休眠状态还是墓碑状态返回的,在此方法中我们可以用来恢复之前在Deactivated事件中保存的数据。
处理的代码如下:
~~~
private void Application_Activated(object sender, ActivatedEventArgs e)
{
if (e.IsApplicationInstancePreserved)
{
//从休眠状态恢复
}
else
{
//从墓碑状态恢复
//这时候程序在内存中的信息已经被清除掉了,需要在这里处理如何恢复你之前的数据
}
}
~~~
调试程序墓碑状态的恢复可以通过在vs上设置来实现这一种模拟的效果,设置如下:
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d99cfae8.jpg)
从休眠状态恢复到程序的时候,如果这时候我们在程序中正在发送http请求的话,有可能这个请求会被取消掉,这时候我们需要在程序中来捕获这个异常并进行处理。处理代码如下:
~~~
private void GetSomeResponse(IAsyncResult MyResultAsync)
{
HttpWebRequest request = (HttpWebRequest)MyResultAsync.AsyncState;
try
{
HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(MyResultAsync);
if (response.StatusCode == HttpStatusCode.OK && response.ContentLength > 0)
{
using (StreamReader sr = new StreamReader(response.GetResponseStream()))
{
//……
}
}
}
catch (WebException e)
{
if(e.Status == WebExceptionStatus.RequestCanceled)
//这里有可能就是从休眠和墓碑状态返回来的
//可以在这这里处理休眠和墓碑状态的恢复,例如重新发送http请求……
else
{
//其他的异常
using (HttpWebResponse response = (HttpWebResponse)e.Response)
{
MessageBox.Show(response.StatusCode.ToString());
}
}
}
}
~~~
转载自:[http://www.cnblogs.com/linzheng/archive/2012/01/17/2324991.html](http://www.cnblogs.com/linzheng/archive/2012/01/17/2324991.html)
WindowsPhone第三方控件-Resco MobileForms Toolkit 2012
最后更新于:2022-04-01 11:30:38
本文系本站原创,欢迎转载! 转载请注明出处:
[http://blog.csdn.net/mr_raptor/article/details/7231208](http://blog.csdn.net/mr_raptor/article/details/7231208)
Resco公司一直致力于.NET移动平台控件和解决方案的开发。它的最新产品是Resco MobileForms Toolkit 2012,跨越了**Windows Phone 7 ,Windows Mobile(Windows CE),Apple iOS和Android**平台。注意即便是包含Apple iOS和Android平台,这些控件也是用.NET来开发的,分别基于MonoTouch和MonoDroid平台。
该公司的控件主要是对WP7控件的扩展控件,包括:日历,柱形图表,线形图表,饼形图表,日历备忘控件,DatePicker,数字输入控件DetailItemNumberic,DetailItemTextBox,单选控件DetailItemCheckBox,链接控件DetailItemLink,下拉控件DetailItemComboBox,图像控件InkBox,多功能列表控件,地图导航控件等。
用户可以从[http://esp.resco.net/mfteval/MFTWP7Eval.zip](http://esp.resco.net/mfteval/MFTWP7Eval.zip)下载MFTWP7Eval for WindowsPhone7的示例源码,解压,安装MFTWP7Eval.msi,将MFTWP7Eval程序集安装到PC中,解压AllSamples.zip,打开运行AllSamples.sln工程,可以看到丰富的控件。
**统计图表控件:**
原创地址:[http://blog.csdn.net/mr_raptor/article/details/7231208](http://blog.csdn.net/mr_raptor/article/details/7231208)[](http://blog.csdn.net/mr_raptor/article/details/7227260)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d982daec.gif)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d9846449.gif)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d9860c2a.gif)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d98797da.gif)
**日历,备忘控件:**
[](http://blog.csdn.net/mr_raptor/article/details/7227260)
原创地址:[http://blog.csdn.net/mr_raptor/article/details/7231208](http://blog.csdn.net/mr_raptor/article/details/7231208)[](http://blog.csdn.net/mr_raptor/article/details/7227260)[](http://blog.csdn.net/mr_raptor/article/details/7227260)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d9891195.gif)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d98a715d.gif)
**表单控件:**
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d98c1438.gif)
**多功能列表控件:**
点击列表之后,下面弹出三个按钮,选择edit按钮,进入第三个图,类似于管理联系人。
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d98e1d50.gif)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d990d8e8.gif)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d9932b1b.gif)
**InkBox控件:**
加载指定的图片,可以进行绘制,结果自动保存在本地独立存储空间里。
[](http://blog.csdn.net/mr_raptor/article/details/7227260)
原创地址:[http://blog.csdn.net/mr_raptor/article/details/7231208](http://blog.csdn.net/mr_raptor/article/details/7231208)[](http://blog.csdn.net/mr_raptor/article/details/7227260)[](http://blog.csdn.net/mr_raptor/article/details/7227260)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d9949525.gif)
**位置服务:**
根据当前GPS信息,和指定地理位置,自动计算出二者的最短距离和路径,在地图上标记出来。
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d995cd7c.gif)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d99746eb.gif)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d998f386.gif)
###
### 相关资源
其它版本:[http://www.resco.net/developer/mobileformstoolkit/overview.aspx](http://www.resco.net/developer/mobileformstoolkit/overview.aspx)
本文系本站原创,欢迎转载! 转载请注明出处:
[](http://blog.csdn.net/mr_raptor/article/details/7227260)
[http://blog.csdn.net/mr_raptor/article/details/7231208](http://blog.csdn.net/mr_raptor/article/details/7231208)[](http://blog.csdn.net/mr_raptor/article/details/7227260)[](http://blog.csdn.net/mr_raptor/article/details/7227260)
WindowsPhone统计图表控件 – 第三方控件visifire
最后更新于:2022-04-01 11:30:36
本文系本站原创,欢迎转载! 转载请注明出处:
[http://blog.csdn.net/mr_raptor/article/details/7230124](http://blog.csdn.net/mr_raptor/article/details/7230124)
Silverlight对于图形图像处理方面,从1.0时代起就给予了很强大的支持,所以我们可以在Silverlight中实现非常棒的各种统计图表,然而现在有了一些开源的项目,使得这项工作更加的简单。
本文我将介绍一个开源的项目visifire,使用它可以在Silverlight 4中实现超酷的图表。
关于Visifire就简单的介绍这么多,大家可以去查看相关的文档。
原创出处:[http://blog.csdn.net/mr_raptor/article/details/7230124](http://blog.csdn.net/mr_raptor/article/details/7230124)
### 分类
下载[http://www.visifire.com/downloads/samples/example_area/visifire-wp-samples.zip](http://www.visifire.com/downloads/samples/example_area/visifire-wp-samples.zip) Visifire for WindowsPhone7的示例源码,解压,打开运行Visifire_WP_Samples工程,可以看到丰富的控件,分类如下:
柱形图表,饼形图表,温度表,血压表,里程表,股票表,趋势线,锥形表,栈形图表,雷达形图表,心电图表等。
原创出处:[http://blog.csdn.net/mr_raptor/article/details/7230124](http://blog.csdn.net/mr_raptor/article/details/7230124)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d945f7a4.gif)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d947c6aa.gif)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d9494ee9.gif)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d94abcf4.gif)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d94c569d.gif)
**柱形图表**
****
**![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d94df04f.gif)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d94f4021.gif)
**
****
****
### 区域形图表
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d951c5f9.gif)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d9534286.gif)
### 饼形图表
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d954e092.gif)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d95607ce.gif)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d957ab71.gif)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d958e98d.gif)
### 线形图表
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d95a7ca5.gif)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d95c36a2.gif)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d95da7b0.gif)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d95f398d.gif)
### 栈形图表
原创出处:[http://blog.csdn.net/mr_raptor/article/details/7230124](http://blog.csdn.net/mr_raptor/article/details/7230124)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d961bec6.gif)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d9634c9c.gif)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d964ede8.gif)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d966c576.gif)
### 雷达形图表
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d9683e44.gif)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d96a0b51.gif)
### 锥形图表
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d96b675d.gif)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d96cc80c.gif)
### 柱线结合形图表
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d96e4cea.gif)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d970ad65.gif)
### 横向柱形图表
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d9729152.gif)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d9729152.gif)
### 股票形图表
原创出处:[http://blog.csdn.net/mr_raptor/article/details/7230124](http://blog.csdn.net/mr_raptor/article/details/7230124)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d974d70c.gif)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d9761d3d.gif)
### 里程表形图表
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d977b7a7.gif)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d9791c97.gif)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d97a3f84.gif)
### 温度计形图表
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d97b9867.gif)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d97cf35e.gif)
### 心电图形图表
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d97e21a3.gif)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d980603c.gif)
### 相关资源
源代码:[http://code.google.com/p/visifire/](http://code.google.com/p/visifire/ "http://code.google.com/p/visifire/")
SVN地址:`[http://visifire.googlecode.com/svn/trunk](http://visifire.googlecode.com/svn/trunk)`
`在线文档:[http://www.visifire.com/visifire_charts_documentation.php](http://www.visifire.com/visifire_charts_documentation.php "http://www.visifire.com/visifire_charts_documentation.php")`
本文系本站原创,欢迎转载! 转载请注明出处:
[http://blog.csdn.net/mr_raptor/article/details/7230124](http://blog.csdn.net/mr_raptor/article/details/7230124)
Silverlight for Windows Phone Toolkit升级说明
最后更新于:2022-04-01 11:30:34
PDC 10后,不少开发人员将目光转移到了移动应用开发平台,Windows Phone 7是移动应用平台之一,也是微软推出的最新移动平台操作系统。Silverlight作为Windows Phone 7应用核心开发技术,再一次展示其强大的功能和优势。为了方便Windows Phone 7开发人员创建应用,微软Silverlight团队特别推出Silverlight for Windows Phone Toolkit开发控件集合,目前已经包括了10余中独立控件可用于Windows Phone开发平台。11月3日,Silverlight for Windows Phone Toolkit开发控件包升级,推出四个新的Windows Phone控件:
- AutoCompleteBox
- ListPicker
- LongListSelector
- Page Transitions
**AutoCompleteBox**,这个控件大家并不陌生,在Google,百度搜索引擎平台经常用到,可自动搜索相关字符,对输入文本进行关联。
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d93a4600.jpg)
~~~
<toolkit:AutoCompleteBox ItemsSource="{StaticResource words}"/>
~~~
**ListPicker**,该控件类似于ComboBox控件,用户选择时,弹出一个选项列表,用户可以从中选择其需要的选项。
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d93babef.jpg)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d93d0785.jpg)
~~~
<toolkit:ListPicker Header="background">
<sys:String>选项1</sys:String>
<sys:String>选项2</sys:String>
<sys:String>选项3</sys:String>
</toolkit:ListPicker>
~~~
**LongListSelector**, 该控件是对于ListBox控件的一个扩展,在原有ListBox基础上,增加了一些特殊功能,例如平行列表,分组列表等。
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d93e2bb0.jpg)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d9409cea.jpg)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d9421170.jpg)
~~~
<toolkit:LongListSelector
ItemsSource="{StaticResource movies}"
ListHeaderTemplate="{StaticResource movieListHeader}"
GroupHeaderTemplate="{StaticResource movieGroupHeader}"
GroupFooterTemplate="{StaticResource movieGroupFooter}"
GroupItemTemplate="{StaticResource groupItemHeader}"
ItemTemplate="{StaticResource movieItemTemplate}">
</toolkit:LongListSelector>
~~~
**Page Transitions**,可以提供页面动画切换效果。
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d943ad36.jpg)
RootFrame = new TransitionFrame();
~~~
<toolkit:TransitionService.NavigationInTransition>
<toolkit:NavigationInTransition>
<toolkit:NavigationInTransition.Backward>
<toolkit:TurnstileTransition Mode="BackwardIn"/>
</toolkit:NavigationInTransition.Backward>
<toolkit:NavigationInTransition.Forward>
<toolkit:TurnstileTransition Mode="ForwardIn"/>
</toolkit:NavigationInTransition.Forward>
</toolkit:NavigationInTransition>
</toolkit:TransitionService.NavigationInTransition>
<toolkit:TransitionService.NavigationOutTransition>
<toolkit:NavigationOutTransition>
<toolkit:NavigationOutTransition.Backward>
<toolkit:TurnstileTransition Mode="BackwardOut"/>
</toolkit:NavigationOutTransition.Backward>
<toolkit:NavigationOutTransition.Forward>
<toolkit:TurnstileTransition Mode="ForwardOut"/>
</toolkit:NavigationOutTransition.Forward>
</toolkit:NavigationOutTransition>
</toolkit:TransitionService.NavigationOutTransition>
~~~
除了以上四个新控件以外,目前Silverlight for Windows Phone Toolkit中还包括以下几个控件:
- GestureService/GestureListener
- ContextMenu
- DatePicker
- TimePicker
- ToggleSwitch
- WrapPanel
Silverlight for Windows Phone Toolkit是开源项目,大家可以在项目官网上下载项目源代码和例程代码参考学习。
WindowsPhone控件详解及引用外部控件Silverlight Toolkit
最后更新于:2022-04-01 11:30:31
本文系本站原创,欢迎转载! 转载请注明出处:
[http://blog.csdn.net/mr_raptor/article/details/7229618](http://blog.csdn.net/mr_raptor/article/details/7229618)[](http://blog.csdn.net/mr_raptor/article/details/7212155)
在Silverlight中,基本上所有的控件都在System.Windows命名空间里。
控件的继承结构如下(以Button为例):
原创地址:[http://blog.csdn.net/mr_raptor/article/details/7229618](http://blog.csdn.net/mr_raptor/article/details/7229618)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d931d404.gif)
**下面我们依次分析继承关系中的每个层次:**
**System.Threading.DispatcherObject**
所有的Silverlight对象都派生自DispatcherObject。 Silverlight工作在Single Threading Apartment(STA)模型下,DispatcherObject的主要职责就是处理线程的并发和同步。当有消息发生的时候,比如鼠标点击或者是按钮被按下,这些消息将被发送到DispatcherObject,它将负责验证代码是否运行在当前线程。
**System.Windows.DependencyObject
微软在设计Silverlight的时候,考虑的是一种基于属性的架构。换句话说,对象的行为主要是用属性来表现的,而不是方法,函数和事件。现在,我们只需要记住它的定义就可以了。在后面的章节中,我们将有专门的问题来论述这个主题。
System.Windows.Media.Visual**
Visual是一个显示支持类,用于抽象所有关于绘制显示的描述。它是一个抽象类,每个Framework Element对象都必须继承该类。该类的主要作用是为Silverlight提供呈现支持,主要包括输出显示,透明度,坐标转换,区域剪切等。另外,Visual类同时是非托管的MilCore.dll和托管的Silverlight类之间的桥梁。如果一个类从Visual派生,它就可以在窗口中显示出来。这样,当你想创建你自定义的用户界面时,你就可以使用Visual对象。
**System.Windows.UIElement**
UIElement类主要处理三个方面的内容:布局,输入和事件。该类继承自Visual类,其中定义了很多与输入和焦点有关的特性,例如键盘事件,鼠标和笔输入等。同时,该类还包括一些与Silverlight事件模型有关的API。
**System.Windows.FrameworkElement**
FrameworkElement派生自UIElement,在UIElement的基础上,它添加了很多其他功能,比如水平对齐,竖直对齐,边距,逻辑树、对象生命周期事件、支持数据绑定和动态资源引用、支持样式和动画等等。
**System.Windows.Shapes.Shape**
这个类可以用于创建基本的图形,比如长方形,多边形,椭圆,线和路径等。
**System.Windows.Controls.Control**
这个类提供一些基本的界面控件,比如文本框。按钮,列表框等。另外,它还添加了一些扩展属性,比如字体,前景色和背景色等。
**System.Windows.Controls.ContentControl**
ContentControl用于显示多行文本。表示包含单项内容的控件。像 Button、CheckBox 和 ScrollViewer 这样的控件直接或间接继承自该类。
**System.Windows.Controls.ItemsControl**
这是所有能够支持多个条目显示的控件的基类,例如列表框和树形视图。一般而言,ItemsControl 具有两个角色:可用于呈现一个固定的项集,或者用于显示从指向某个对象的数据绑定中获取的列表。如果要显示对象源中的数据,则应将 ItemsSource 指定为对某个对象的引用,例如使用ListBox绑定数据源到ItemsSource上。
**System.Windows.Controls.Panel**
面板(Panel)可以用做所有布局的容器。它可以包含一个或多个子控件并且可以将他们按照布局单位进行排列。这些容器是Silverlight布局系统的基础,并且合理地使用容器是对你的界面内容进行灵活布局的关键。
原创地址:[http://blog.csdn.net/mr_raptor/article/details/7229618](http://blog.csdn.net/mr_raptor/article/details/7229618)
Silverlight控件按功能分,包含:
- **用户交互控件:**
Button, CheckBox, Image, TextBlock, TextBox等
- **容器控件:**
Border,Canvas,Grid, StackPanel, Viewbox, ScrollViewer等
原创地址:[http://blog.csdn.net/mr_raptor/article/details/7229618](http://blog.csdn.net/mr_raptor/article/details/7229618)
<table border="1" cellspacing="0" cellpadding="0"><tbody><tr><td valign="top"><p align="center"><strong>容器控件名</strong></p></td><td valign="top"><p align="center"><strong>作用</strong></p></td></tr><tr><td valign="top"><p>Canvas</p></td><td valign="top"><p align="left">定义一个区域,在该区域中可以使用相对于该区域的坐标显式定位子元素。一个画布可包含一个或多个 UIElement 对象。</p></td></tr><tr><td valign="top"><p>Grid</p></td><td valign="top"><p align="left">定义由列和行组成的网格区域。</p></td></tr><tr><td valign="top"><p>StackPanel</p></td><td valign="top"><p align="left">将子元素排列成一行(可沿水平或垂直方向)。</p></td></tr><tr><td valign="top"><p>Border</p></td><td valign="top"><p align="left">在另一个对象的周围绘制边框、背景或同时绘制二者。</p></td></tr><tr><td valign="top"><p>ScrollViewer</p></td><td valign="top"><p align="left">表示可包含其他可见元素的可滚动区域。</p></td></tr></tbody></table>
原创地址:[http://blog.csdn.net/mr_raptor/article/details/7229618](http://blog.csdn.net/mr_raptor/article/details/7229618)
<table border="1" cellspacing="0" cellpadding="0" width="101%"><tbody><tr><td valign="top"><p align="center"><strong>用户交互控件名</strong></p></td><td valign="top"><p align="center"><strong>主要作用</strong></p></td></tr><tr><td valign="top"><p>Button</p></td><td valign="top"><p>提供一个单击事件以响应来自鼠标、键盘、触笔或其他输入设备的用户输入。</p></td></tr><tr><td valign="top"><p>CheckBox</p></td><td valign="top"><p>使用户能够选择(选中)或清除(取消选中)某个选项。CheckBox 可以具有三种状态:选中、取消选中和不确定。使用 CheckBox 可以为用户提供一个选项(例如"真/假"或"是/否"),也可以使用户从选项列表中进行选择。CheckBox 是一个 ContentControl。</p></td></tr><tr><td valign="top"><p>HyperlinkButton</p></td><td valign="top"><p>表示显示超链接的按钮控件。单击 HyperlinkButton 后,用户可以导航到同一 Silverlight 应用程序内的外部网页或内容。</p></td></tr><tr><td valign="top"><p>Map</p></td><td valign="top"><p>表示默认地图类。</p></td></tr><tr><td valign="top"><p>Image</p></td><td valign="top"><p>显示 PNG 或 JPEG 格式的图像。Image 控件可显示具有 1 位、4 位或 8 位颜色深度的索引图像,或者具有 24 位或 32 位颜色深度的真彩色图像。</p></td></tr><tr><td valign="top"><p>ListBox</p></td><td valign="top"><p>包含一个项集合。可通过将该控件绑定到数据源或通过显示未绑定的项来填充该控件。列表框是一个项控件,这意味着您可以使用包含文本或其他控件的项来填充它。</p></td></tr><tr><td valign="top"><p>MediaElement</p></td><td valign="top"><p>承载音频或视频内容。MediaElement 控件提供了一个可在其图面上显示视频(如果不存在视频,则播放音频)的矩形区域。</p></td></tr><tr><td valign="top"><p>PasswordBox</p></td><td valign="top"><p>用于在单行和不换行的文本区域中输入敏感或私有信息。您无法查看实际文本,而只能查看表示内容的字符。</p></td></tr><tr><td valign="top"><p>RadioButton</p></td><td valign="top"><p>使用户可以从一组选项中选择一个选项。可以通过将 RadioButton 控件放到父控件内或者将每个 RadioButton 的 GroupName 属性设置为特定的组来对 RadioButton 进行分组。分组后,各个 RadioButton 控件之间是互斥的。</p></td></tr><tr><td valign="top"><p>ScrollViewer</p></td><td valign="top"><p>封装一段内容,并提供最多两个 ScrollBar 控件来滚动内容视区。ScrollViewer 控件使您能够设置视区相对于内容的大小,以及设置是否显示水平和垂直 ScrollBar 控件。</p></td></tr><tr><td valign="top"><p>Slider</p></td><td valign="top"><p>使用户可以沿着一条轨道移动 Thumb 控件以从一个值范围中进行选择。</p></td></tr><tr><td valign="top"><p>TextBlock</p></td><td valign="top"><p>显示少量文本内容。可以使用 Text 属性来设置 TextBlock 的内容。或者,也可以将 Inlines 属性设置为一个 Inline 对象集合,例如 Run 或 LineBreak 对象。</p></td></tr><tr><td valign="top"><p>TextBox</p></td><td valign="top"><p>用于获取用户输入,也可用于显示文本。文本框控件通常用于可编辑文本,但也可以设置为只读。文本框可以显示多个行,并且可以根据控件的大小自动换行。</p></td></tr><tr><td valign="top"><p>WebBrowser</p></td><td valign="top"><p>当应用程序在浏览器外承载时为显示 HTML 内容提供图面。</p></td></tr></tbody></table>
上表的控件是WindowsPhone中Toolbox中显示出来的可用控件,很明显这些控件不能充分满足开发者的需要,微软之所以这么做,无非也是想减少WP7应用程序的大小,从而不将一些非常用控件引入起来。如果想使用自定义控件或者Silverlight控件,则要在工程里添加程序集引用,然后在XAML根元素里引入命名空间,才可以使用外部控件。例如:下载并安装Silverlight Toolkit的扩展控件:[http://silverlight.codeplex.com/](http://silverlight.codeplex.com/)
1. 在工程里添加引用。
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d9347dbd.gif)
原创地址:[http://blog.csdn.net/mr_raptor/article/details/7229618](http://blog.csdn.net/mr_raptor/article/details/7229618)
2. 将安装的Toolkit程序集加载到工程中,路径为:C:\Program Files\Microsoft SDKs\Windows Phone\v7.1\Toolkit\Oct11\Bin
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d935f013.gif)
原创地址:[http://blog.csdn.net/mr_raptor/article/details/7229618](http://blog.csdn.net/mr_raptor/article/details/7229618)
3. 使用外部控件
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d938338d.gif)
原创地址:[http://blog.csdn.net/mr_raptor/article/details/7229618](http://blog.csdn.net/mr_raptor/article/details/7229618)
- 从解决方案浏览器里可以看到Microsoft.Phone.Controls.Toolkit程序集已经加入到了工程里(如图中1所示)。
- 在XAML的根元素里引用其命名空间(如图中2所示)。
- 添加控件元素代码(如图中3所示)。
- 可以看到页面上已经显示出对应的控件。
除此之外,还有大名鼎鼎的telerik设计的控件:[http://www.telerik.com/products/windows-phone.aspx](http://www.telerik.com/products/windows-phone.aspx)
本文系本站原创,欢迎转载! 转载请注明出处:
[http://blog.csdn.net/mr_raptor/article/details/7229618](http://blog.csdn.net/mr_raptor/article/details/7229618)[](http://blog.csdn.net/mr_raptor/article/details/7227260)[](http://blog.csdn.net/mr_raptor/article/details/7212155)
WindowsPhone XAML语法详解
最后更新于:2022-04-01 11:30:29
本文系本站原创,欢迎转载! 转载请注明出处:
[http://blog.csdn.net/mr_raptor/article/details/7227260](http://blog.csdn.net/mr_raptor/article/details/7227260)[](http://blog.csdn.net/mr_raptor/article/details/7212155)
**XAML** 是一种声明性标记语言。XAML 简化了为 .NET Framework 应用程序创建 UI 的过程。您可以在声明性 XAML 标记中创建可见的 UI 元素,然后使用代码隐藏文件(通过分部类定义与标记相连接)将 UI 定义与运行时逻辑相分离。XAML 直接以程序集中定义的一组特定后备类型表示对象的实例化。 XAML 实现了一个工作流,通过此工作流,各方可以采用不同的工具来处理应用程序的 UI 和逻辑。
关注原创:[http://blog.csdn.net/mr_raptor/article/details/7227260](http://blog.csdn.net/mr_raptor/article/details/7227260)[](http://blog.csdn.net/mr_raptor/article/details/7212155)
以文本表示时,XAML 文件是通常具有 .xaml 扩展名的 XML 文件。 可通过任何 XML 编码对文件进行编码,但通常编码为 UTF-8。
特点:
1. 具有 .xaml 扩展名的 XML 文件,格式和XML一样
2.在XAML中定义的元素其实是程序集中定义的类型对象
3.每一个WP7应用程序中的.xaml文件,都有一个与之对应的代码隐藏文件(XAML文件名+.cs)
关注原创:[http://blog.csdn.net/mr_raptor/article/details/7227260](http://blog.csdn.net/mr_raptor/article/details/7227260)[](http://blog.csdn.net/mr_raptor/article/details/7212155)
**XAML文件与代码隐藏文件**
由于XAML文件只负责用于表现UI,而UI对应的控制逻辑通常是由与之对应的代码隐藏文件来负责的。在WP7应用程序中,每一个WP7应用程序中的.xaml文件,都有一个与之对应的代码隐藏文件(XAML文件名+.cs),例如:MainPage.xaml对应的代码隐藏文件名字为MainPage.xaml.cs。二者通过XAML文件根元素中x:Class前缀进行连接指定。当UI上的控件产生了事件之后,会通过x:Class前缀中指定的代码隐藏文件命名空间和类名,找到UI处理逻辑,从而进行事件处理(那当然,还要在控件的事件属性中指定事件处理方法例如下面代码:
在根元素x:Class中指定了命名空间和类名为MyTes.MainPage,在Button元素中指定了按钮处理方法Btn_Click,当用户按下按钮时,自动回调代码隐藏文件MainPage.xaml.cs中的Btn_Click事件处理方法。
MainPage.xaml文件
~~~
<phone:PhoneApplicationPage
x:Class="MyTest.MainPage"
...>
<Button Click="Btn_Click" />
</phone:PhoneApplicationPage>
~~~
MainPage.xaml.cs代码隐藏文件
~~~
namespace MyTest
{
public partial class MainPage : PhoneApplicationPage
{
private void Btn_Click (object sender, RoutedEventArgs e)
{
....
}
}
~~~
关注原创:[http://blog.csdn.net/mr_raptor/article/details/7227260](http://blog.csdn.net/mr_raptor/article/details/7227260)[](http://blog.csdn.net/mr_raptor/article/details/7212155)
**属性语法**
对象的属性通常可表示为对象元素的特性。属性语法命名在属性语法中设置的属性,后跟赋值运算符 (=)。属性的值始终以包含在引号中的字符串的形式进行指定。
属性语法是最简单有效的属性设置语法,并且对于曾使用过标记语言的开发人员而言在使用中是最直观的语法。例如,以下标记将创建一个具有红色文本和蓝色背景的按钮,还将创建指定为 Content 的显示文本。
~~~
<Button Background="Blue" Foreground="Red" Content="This is a button"/>
~~~
关注原创:[http://blog.csdn.net/mr_raptor/article/details/7227260](http://blog.csdn.net/mr_raptor/article/details/7227260)[](http://blog.csdn.net/mr_raptor/article/details/7212155)
### 属性对象元素语法
对于对象元素的某些属性,属性语法是不可能实现的,因为无法在属性语法的引号和字符串限制内充分地表达提供属性值所必需的对象或信息。对于这些情况,可以使用另一个语法,即属性对象元素语法。
属性元素对象开始标记的语法为 <*类型名称*.*属性名称*>。 通常,该标记的内容是类型的一个对象元素,属性会将该元素作为其值。指定内容之后,必须用一个结束标记结束属性元素。结束标记的语法为 </*类型名称*.*属性名称*>。
~~~
<Button>
<Button.Background>
<SolidColorBrush Color="Blue"/>
</Button.Background>
<Button.Foreground>
<SolidColorBrush Color="Red"/>
</Button.Foreground>
<Button.Content>
This is a button
</Button.Content>
</Button>
~~~
关注原创:[http://blog.csdn.net/mr_raptor/article/details/7227260](http://blog.csdn.net/mr_raptor/article/details/7227260)[](http://blog.csdn.net/mr_raptor/article/details/7212155)
**内容属性**
如果一个类的内容属性为该类中的唯一一个内容属性,对象元素的子元素可以用于设置该内容属性的值。换言之,仅对内容属性而言,您可以在 XAML 标记中设置该属性时省略属性元素,并在标记中生成更直观的父级/子级形式。
~~~
<Border>
<TextBox Width="300"/>
</Border>
~~~
当然,你也可以显示的的标明,设置了元素的内容属性为子元素。
~~~
<Border>
<Border.Child>
<TextBox Width="300"/>
</Border.Child>
</Border>
~~~
**关注原创:[http://blog.csdn.net/mr_raptor/article/details/7227260](http://blog.csdn.net/mr_raptor/article/details/7227260)[](http://blog.csdn.net/mr_raptor/article/details/7212155)**
集合语法
XAML 语言包含一些优化,可以生成可读性更好的标记。其中的一项优化是:如果某个特定属性采用集合类型,则您在标记中声明为该属性的值内的子元素的项将成为集合的一部分。在这种情况下,子对象元素的集合是设置为集合属性的值。
下面的示例演示为 GradientStops 属性设置值的集合语法:
~~~
<LinearGradientBrush>
<LinearGradientBrush.GradientStops>
<GradientStop Offset="0.0" Color="Red" />
<GradientStop Offset="1.0" Color="Blue" />
</LinearGradientBrush.GradientStops>
</LinearGradientBrush>
~~~
关注原创:[http://blog.csdn.net/mr_raptor/article/details/7227260](http://blog.csdn.net/mr_raptor/article/details/7227260)[](http://blog.csdn.net/mr_raptor/article/details/7212155)
### XAML 根元素和 XAML 命名空间
一个 XAML 文件只能有一个根元素,这样才能同时成为格式正确的 XML 文件和有效的 XAML 文件。例如每个WindowsPhone的应用程序XAML都只有一个<phone:PhoneApplicationPage></ phone:PhoneApplicationPage > 根元素。
根元素还包含特性 xmlns , xmlns:x,xmlns:phone,如下表所示。
<table border="1" cellspacing="0" cellpadding="0"><tbody><tr><td valign="top"><p align="center"><strong>元素名</strong></p></td><td valign="top"><p align="center"><strong>释义</strong></p></td></tr><tr><td valign="top"><p><phone:PhoneApplicationPage </p></td><td valign="top"><p>根元素的开始对象元素 </p></td></tr><tr><td valign="top"><p>xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" </p></td><td valign="top"><p>默认 XAML 命名空间 </p></td></tr><tr><td valign="top"><p>xmlns:phone="clr-namespace:Microsoft.Phone.Controls;</p><p>assembly=Microsoft.Phone"</p></td><td valign="top"><p>命名空间phone引用了程序集Microsoft.Phone中的命名空间 </p></td></tr><tr><td valign="top"><p>xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" </p></td><td valign="top"><p>XAML 语言 XAML 命名空间 </p></td></tr><tr><td valign="top"><p>x:Class="ExampleNamespace.ExampleCode" </p></td><td valign="top"><p>分部类声明,它将标记连接到为分部类定义的代码隐藏文件 </p></td></tr><tr><td valign="top"><p>> </p></td><td valign="top"><p>根的对象元素的末尾。由于该元素包含子元素,因此对象未结束 </p></td></tr></tbody></table>
这些特性向 XAML 处理器指明哪些 XAML 命名空间包含标记将要作为元素引用的后备类型的类型定义。xmlns 特性明确指示默认的 XAML 命名空间。 在默认的 XAML 命名空间中,可以不使用前缀指定标记中的对象元素。对于大多数 WP7应用程序方案中,默认的 XAML 命名空间均映射到为 WPF 命名空间 http://schemas.microsoft.com/winfx/2006/xaml/presentation。xmlns:x 特性指示另外一个 XAML 命名空间,该命名空间映射 XAML 语言命名空间 http://schemas.microsoft.com/winfx/2006/xaml。
使用 xmlns 定义用法范围和名称范围映射的做法符合 XML 1.0 规范。 XAML 名称范围与 XML 名称范围的不同仅在于:XAML 名称范围还包含有关进行类型解析和分析 XAML 时名称范围的元素如何受类型支持的信息。
请注意,只有在每个 XAML 文件的根元素上, xmlns 特性才是绝对必需的。 xmlns 定义将适用于根元素的所有子代元素(此行为也符合 xmlns 的 XML 1.0 规范。)同时允许根以下的其他元素上具有 xmlns 特性,这些特性将适用于定义元素的任何子代元素。 但是,频繁定义或重新定义 XAML 命名空间可能会导致 XAML 标记样式难以阅读。
其 XAML 处理器的实现包括可识别核心程序集的基础结构。因此,为了引用来自WP7程序集中的 XAML 元素,只需将默认 XAML 命名空间声明为默认 xmlns。
**x: 前缀**
在上面的根元素示例中,前缀 x: 用于映射 XAML 命名空间 http://schemas.microsoft.com/winfx/2006/xaml,该命名空间是支持 XAML 语言构造的专用 XAML 命名空间。 在这整个 SDK 的项目模板、示例以及文档中,此 x: 前缀用于映射该 XAML 命名空间。 XAML 语言的 XAML 命名空间包含多个将在 XAML 中频繁用到的编程构造。下面列出了将用到的最常见的x: 前缀编程构造:
- [x:Key](http://127.0.0.1:47873/help/1-4812/ms.help?method=page&id=1985CD45-F197-42D5-B75E-886ADD64B248&product=VS&productVersion=100&topicVersion=100&locale=ZH-CN&topicLocale=ZH-CN):为 ResourceDictionary中的每个资源设置唯一的键。 在典型的 WP7 应用程序标记中的所有 x: 用法中, x:Key 将可能占到 90%。
- [x:Class](http://127.0.0.1:47873/help/1-4812/ms.help?method=page&id=BC4A3D8E-76E2-423E-A5D1-159A023E82EC&product=VS&productVersion=100&topicVersion=100&locale=ZH-CN&topicLocale=ZH-CN):为 XAML 页提供“**代码隐藏的类”**指定 CLR 命名空间和类名,也就是说每个XAML文件后面都有一个与之对应的代码隐藏类(其实就是对应的XAML文件名+.cs)。 必须具有这样一个类才能支持每个 WP7 编程模型的代码隐藏,而正是因为如此,即使没有资源,也几乎总是能看到映射的 x:。
- [x:Name](http://127.0.0.1:47873/help/1-4812/ms.help?method=page&id=B7E61222-E8CF-48D2-ACD0-6DF3B7685D48&product=VS&productVersion=100&topicVersion=100&locale=ZH-CN&topicLocale=ZH-CN):经过XAML处理器处理所有对象元素后,为XAML代码中的实例指定运行时对象名称。 通常,您将为 [x:Name](http://127.0.0.1:47873/help/1-4812/ms.help?method=page&id=B7E61222-E8CF-48D2-ACD0-6DF3B7685D48&product=VS&productVersion=100&topicVersion=100&locale=ZH-CN&topicLocale=ZH-CN) 经常使用 WP7 定义的等效属性。 此类属性特定映射到 CLR 后备属性,因此更便于进行应用程序编程,在应用程序编程中,您经常使用运行时代码从初始化的 XAML 中查找命名元素。最常见的此类属性是 [FrameworkElement .Name ](http://127.0.0.1:47873/help/1-4812/ms.help?method=page&id=P%3ASYSTEM.WINDOWS.FRAMEWORKELEMENT.NAME&product=VS&productVersion=100&topicVersion=100&locale=ZH-CN&topicLocale=ZH-CN)。
- [x:Static](http://127.0.0.1:47873/help/1-4812/ms.help?method=page&id=056AEE79-7CDD-434F-8174-DFC856CAD343&product=VS&productVersion=100&topicVersion=100&locale=ZH-CN&topicLocale=ZH-CN):启用一个返回静态值的引用,该静态值只能是一个 XAML 兼容属性。
- [x:Type](http://127.0.0.1:47873/help/1-4812/ms.help?method=page&id=E0E0CE6F-E873-49C7-8AD7-8B840EB353EC&product=VS&productVersion=100&topicVersion=100&locale=ZH-CN&topicLocale=ZH-CN):根据类型名称构造一个 [Type](http://127.0.0.1:47873/help/1-4812/ms.help?method=page&id=T%3ASYSTEM.TYPE&product=VS&productVersion=100&topicVersion=100&locale=ZH-CN&topicLocale=ZH-CN) 引用。 它用于指定采用 [Type](http://127.0.0.1:47873/help/1-4812/ms.help?method=page&id=T%3ASYSTEM.TYPE&product=VS&productVersion=100&topicVersion=100&locale=ZH-CN&topicLocale=ZH-CN)(例如 [Style .TargetType ](http://127.0.0.1:47873/help/1-4812/ms.help?method=page&id=P%3ASYSTEM.WINDOWS.STYLE.TARGETTYPE&product=VS&productVersion=100&topicVersion=100&locale=ZH-CN&topicLocale=ZH-CN))的特性,但属性经常具有本机的字符串到 [Type](http://127.0.0.1:47873/help/1-4812/ms.help?method=page&id=T%3ASYSTEM.TYPE&product=VS&productVersion=100&topicVersion=100&locale=ZH-CN&topicLocale=ZH-CN) 的转换功能,因此使用[x:Type](http://127.0.0.1:47873/help/1-4812/ms.help?method=page&id=E0E0CE6F-E873-49C7-8AD7-8B840EB353EC&product=VS&productVersion=100&topicVersion=100&locale=ZH-CN&topicLocale=ZH-CN) 标记扩展用法是可选的。
### XAML 中的自定义前缀和自定义类型
对于自定义程序集或 PresentationCore、PresentationFramework 和 WindowsBase 的 WP7 核心以外的程序集,可以将该程序集指定为自定义 **xmlns** 映射的一部分,就可以在 XAML 中引用该程序集中的类型。
下面是一个说明自定义前缀如何在 XAML 标记中工作的基本示例。前缀 custom 在根元素标记中定义,并映射为随应用程序一同打包的一个特定程序集。 此程序集包含 NumericUpDown 类型。 通过使用该前缀,可以声明此NumericUpDown 控件的实例对象元素,当 XAML 分析器解析到当前元素时,通过前缀custom的声明中指定的命名空间,可找到包含该类型的 XAML 命名空间,从而找到包含自定义类型的程序集的位置。
~~~
<phone:PhoneApplicationPage
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" **xmlns:custom="clr-namespace:NumericUpDownCustomControl;assembly=CustomLibrary"**
>
<StackPanel Name="LayoutRoot">
<custom:NumericUpDown Name="numericCtrl1" Width="100" Height="60"/>
...</StackPanel>
</phone:PhoneApplicationPage>
~~~
本文系本站原创,欢迎转载! 转载请注明出处:
[http://blog.csdn.net/mr_raptor/article/details/7227260](http://blog.csdn.net/mr_raptor/article/details/7227260)[](http://blog.csdn.net/mr_raptor/article/details/7212155)
整理Windows Phone 7教程(很全面)
最后更新于:2022-04-01 11:30:27
**前言**
离Windows Phone 7正式发布已过去几个月了,但国内关于Windows Phone 7的中文书籍资料太少了,大多数是英文资料,一本真正的中文开发教程书都没有, 要啃英文资料对大部分的开发者来说太难了,而且很多的中文的文章教程又太杂乱。 机微网把网站多个月来转载的Windows Phone 7相关的教程文章分类整理了一下,供广大的开发者参阅。希望各位作者能允许机微网(www.gwewe.com)转载,如有任何版权问题请[联系我们](http://www.gwewe.com/about/contactus.aspx)。
希望大家都加入到Windows Phone开发者大军中来。就像张崟说的[新机会不容错过](http://www.gwewe.com/dev/de/1101131771.html "Windows Phone开发者:新机会不容错过(图)")。
<table border="1" cellspacing="0" cellpadding="3" width="100%" style="margin-top:5px; border-collapse:collapse"><tbody><tr><td bgcolor="#f4f4f4" colspan="3" align="left">目录1(排名不分先后)</td></tr><tr><td align="middle">1</td><td><a href="#a1">《Windows Phone 7 开发 31 日谈》</a></td><td>金山崟霸,张崟 (<a href="http://www.cnblogs.com/porscheyin/" target="_blank">博客</a>)</td></tr><tr><td align="middle">2</td><td><a href="#a2">《Windows Phone 7 开发探索笔记》</a></td><td>金山崟霸,张崟 (<a href="http://www.cnblogs.com/porscheyin/" target="_blank">博客</a>)</td></tr><tr><td align="middle">3</td><td><a href="#a3">《理解Windows Phone 7应用程序执行模型,墓碑机制,启动器和选择器及更多内容》</a></td><td>金山崟霸,张崟 (<a href="http://www.cnblogs.com/porscheyin/" target="_blank">博客</a>)</td></tr><tr><td align="middle">4</td><td><a href="#a4">《WP7 App性能优化》</a></td><td>MagicBoy,李鹏 (<a href="http://www.cnblogs.com/magicboy110/" target="_blank">博客</a>)</td></tr><tr><td align="middle">5</td><td><a href="#a5">《WP7开发解惑》</a></td><td>MagicBoy,李鹏 (<a href="http://www.cnblogs.com/magicboy110/" target="_blank">博客</a>)</td></tr><tr><td align="middle">6</td><td><a href="#a6">《Windows Phone 7范例游戏Platformer实战》</a></td><td>軒轅 (<a href="http://www.cnblogs.com/imobiler/" target="_blank">博客</a>)</td></tr><tr><td align="middle">7</td><td><a href="#a7">《多样化实现Windows phone 7本地数据访问》</a></td><td>chenkai,陈凯 (<a href="http://www.cnblogs.com/chenkai/" target="_blank">博客</a>)</td></tr><tr><td align="middle">8</td><td><a href="#a8">《Windows Phone 7 不温不火学习》</a></td><td>terry,杨海龙 (<a href="http://www.cnblogs.com/TerryBlog/" target="_blank">博客</a>)</td></tr><tr><td align="middle">9</td><td><a href="#a9">《Silverlight for Windows Phone 7开发系列》</a></td><td>Jake Lin,林永坚 (<a href="http://www.cnblogs.com/procoder/" target="_blank">博客</a>)</td></tr><tr><td align="middle">10</td><td><a href="#a10">《新浪微博客户端围脖七开发笔记》</a></td><td>上尉,王皓 (<a href="http://www.cnblogs.com/midshipman/" target="_blank">博客</a>)</td></tr><tr><td align="middle">11</td><td><a href="#a11">《Windows Phone 7 Tip》</a></td><td>上尉,王皓 (<a href="http://www.cnblogs.com/midshipman/" target="_blank">博客</a>)</td></tr><tr><td align="middle">12</td><td><a href="#a12">《windows phone 7开发日志》</a></td><td>疯光无线,李剑英 (<a href="http://www.cnblogs.com/crazylights/" target="_blank">博客</a>)</td></tr><tr><td align="middle">13</td><td><a href="#a13">《一起学Windows Phone 7开发》</a></td><td>小镇,306Room (<a href="http://www.cnblogs.com/randylee/" target="_blank">博客</a>)</td></tr><tr><td align="middle">14</td><td><a href="#a14">《Windows phone 7之初体验》</a></td><td>小镇,306Room (<a href="http://www.cnblogs.com/randylee/" target="_blank">博客</a>)</td></tr><tr><td align="middle">15</td><td><a href="#a15">《深入学习Windows Phone 7》</a></td><td>小镇,306Room (<a href="http://www.cnblogs.com/randylee/" target="_blank">博客</a>)</td></tr><tr><td align="middle">16</td><td><a href="#a16">《一起学WP7 XNA游戏开发》</a></td><td>小镇,306Room (<a href="http://www.cnblogs.com/randylee/" target="_blank">博客</a>)</td></tr><tr><td align="middle">17</td><td><a href="#a17">《手把手教用XNA开发winphone7游戏》</a></td><td>爱喝可乐的猫 ,zouyuntao (<a href="http://www.cnblogs.com/zouyuntao/" target="_blank">博客</a>)</td></tr><tr><td align="middle">18</td><td><a href="#a18">《WP7有约》</a></td><td>Allen Lee,李永伦 (<a href="http://www.cnblogs.com/allenlooplee/" target="_blank">博客</a>)</td></tr><tr><td align="middle">19</td><td><a href="#a19">《WP7 Dev 101》</a></td><td>WPMind (<a href="http://www.wpmind.com" target="_blank">WPMind</a>)</td></tr><tr><td align="middle">20</td><td><a href="#a20">《入门WP7》</a></td><td>lulu (<a href="http://www.cnblogs.com/dennlu/" target="_blank">博客</a>)</td></tr></tbody></table>
<table border="1" cellspacing="0" cellpadding="3" width="100%" style="margin-top:5px; border-collapse:collapse"><tbody><tr><td bgcolor="#f4f4f4" colspan="3" align="left">文章整理分类目录2</td></tr><tr><td align="middle">1</td><td><a href="#b1">1、开发环境相关</a></td></tr><tr><td align="middle">2</td><td><a href="#b2">2、Hello, Windows Phone 7</a></td></tr><tr><td align="middle">3</td><td><a href="#b3">3、书籍资源视频相关</a></td></tr><tr><td align="middle">4</td><td><a href="#b4">4、XNA/Xbox Live游戏开发相关</a></td></tr><tr><td align="middle">5</td><td><a href="#b5">5、控件相关</a></td></tr><tr><td align="middle">6</td><td><a href="#b6">6、Silverlight for Windows Phone 7 系列</a></td></tr><tr><td align="middle">7</td><td><a href="#b7">7、存储数据库系列</a></td></tr><tr><td align="middle">8</td><td><a href="#b8">8、其它</a></td></tr></tbody></table>
<table border="1" cellspacing="0" cellpadding="3" width="100%" style="margin-top:5px; border-collapse:collapse"><tbody><tr><td bgcolor="#f4f4f4" align="left">标题:《Windows Phone 7 开发 31 日谈》专题系列<a name="a1"/><br/>作者:金山崟霸,张崟 (<a href="http://www.cnblogs.com/porscheyin/" target="_blank">博客</a>)</td></tr><tr><td align="left"><a title="Windows Phone 7 开发 31 日谈——第25日:外部API" href="http://www.gwewe.com/dev/topics/1012221303.html" target="_blank">Windows Phone 7 开发 31 日谈——第25日:外部API</a></td></tr><tr><td align="left"><a title="Windows Phone 7 开发 31 日谈——第24日:嵌入字体" href="http://www.gwewe.com/dev/topics/1012039303.html" target="_blank">Windows Phone 7 开发 31 日谈——第24日:嵌入字体</a></td></tr><tr><td align="left"><a title="Windows Phone 7 开发 31 日谈——第23日:提供试用版应用程序" href="http://www.gwewe.com/dev/topics/1012039298.html" target="_blank">Windows Phone 7 开发 31 日谈——第23日:提供试用版应用程序</a></td></tr><tr><td align="left"><a title="Windows Phone 7 开发 31 日谈——第22日:应用?还是 游戏?" href="http://www.gwewe.com/dev/topics/1012039293.html" target="_blank">Windows Phone 7 开发 31 日谈——第22日:应用?还是 游戏?</a></td></tr><tr><td align="left"><a title="Windows Phone 7 开发 31 日谈——第21日:Silverlight Toolkit for Windows Phone" href="http://www.gwewe.com/dev/topics/1012039279.html" target="_blank">Windows Phone 7 开发 31 日谈——第21日:Silverlight Toolkit for Windows Phone</a></td></tr><tr><td align="left"><a title="Windows Phone 7 开发 31 日谈——第20日:地图控件" href="http://www.gwewe.com/dev/topics/1011237708.html" target="_blank">Windows Phone 7 开发 31 日谈——第20日:地图控件</a></td></tr><tr><td align="left"><a title="Windows Phone 7 开发 31 日谈——第19日:推送通知" href="http://www.gwewe.com/dev/topics/1011166883.html" target="_blank">Windows Phone 7 开发 31 日谈——第19日:推送通知</a></td></tr><tr><td align="left"><a title="Windows Phone 7 开发 31 日谈——第18日:WebBrowser控件" href="http://www.gwewe.com/dev/topics/1011166878.html" target="_blank">Windows Phone 7 开发 31 日谈——第18日:WebBrowser控件</a></td></tr><tr><td align="left"><a title="Windows Phone 7 开发 31 日谈——第17日:枢轴控件" href="http://www.gwewe.com/dev/topics/1011166871.html" target="_blank">Windows Phone 7 开发 31 日谈——第17日:枢轴控件</a></td></tr><tr><td align="left"><a title="Windows Phone 7 开发 31 日谈——第16日:全景视图" href="http://www.gwewe.com/dev/topics/1011166827.html" target="_blank">Windows Phone 7 开发 31 日谈——第16日:全景视图</a></td></tr><tr><td align="left"><a title="Windows Phone 7 开发 31 日谈——第15日:独立存储" href="http://www.gwewe.com/dev/topics/1011166822.html" target="_blank">Windows Phone 7 开发 31 日谈——第15日:独立存储</a></td></tr><tr><td align="left"><a title="Windows Phone 7 开发 31 日谈——第14日:墓碑机制(多任务)" href="http://www.gwewe.com/dev/topics/1011116322.html" target="_blank">Windows Phone 7 开发 31 日谈——第14日:墓碑机制(多任务)</a></td></tr><tr><td align="left"><a title="Windows Phone 7 开发 31 日谈——第13日:位置服务" href="http://www.gwewe.com/dev/topics/1011116318.html" target="_blank">Windows Phone 7 开发 31 日谈——第13日:位置服务</a></td></tr><tr><td align="left"><a title="Windows Phone 7 开发 31 日谈——第12日:使手机震动" href="http://www.gwewe.com/dev/topics/1011116315.html" target="_blank">Windows Phone 7 开发 31 日谈——第12日:使手机震动</a></td></tr><tr><td align="left"><a title="Windows Phone 7 开发 31 日谈——第11日:加速感应器" href="http://www.gwewe.com/dev/topics/1011116311.html" target="_blank">Windows Phone 7 开发 31 日谈——第11日:加速感应器</a></td></tr><tr><td align="left"><a title="Windows Phone 7 开发 31 日谈——第10日:输入范围和文本框" href="http://www.gwewe.com/dev/topics/1011116298.html" target="_blank">Windows Phone 7 开发 31 日谈——第10日:输入范围和文本框</a></td></tr><tr><td align="left"><a title="Windows Phone 7 开发 31 日谈——第9日:调试技巧" href="http://www.gwewe.com/dev/topics/1011116292.html" target="_blank">Windows Phone 7 开发 31 日谈——第9日:调试技巧</a></td></tr><tr><td align="left"><a title="Windows Phone 7 开发 31 日谈——第8日:选择器" href="http://www.gwewe.com/dev/topics/1011116289.html" target="_blank">Windows Phone 7 开发 31 日谈——第8日:选择器</a></td></tr><tr><td align="left"><a title="Windows Phone 7 开发 31 日谈——第7日:启动器" href="http://www.gwewe.com/dev/topics/1011116285.html" target="_blank">Windows Phone 7 开发 31 日谈——第7日:启动器</a></td></tr><tr><td align="left"><a title="Windows Phone 7 开发 31 日谈——第6日:工具栏" href="http://www.gwewe.com/dev/topics/1011116274.html" target="_blank">Windows Phone 7 开发 31 日谈——第6日:工具栏</a></td></tr><tr><td align="left"><a title="Windows Phone 7 开发 31 日谈——第5日:系统主题" href="http://www.gwewe.com/dev/topics/1011116262.html" target="_blank">Windows Phone 7 开发 31 日谈——第5日:系统主题</a></td></tr><tr><td align="left"><a title="Windows Phone 7 开发 31 日谈——第4日:设备方向" href="http://www.gwewe.com/dev/topics/1011116253.html" target="_blank">Windows Phone 7 开发 31 日谈——第4日:设备方向</a></td></tr><tr><td align="left"><a title="Windows Phone 7 开发 31 日谈——第3日:返回键" href="http://www.gwewe.com/dev/topics/1011116251.html" target="_blank">Windows Phone 7 开发 31 日谈——第3日:返回键</a></td></tr><tr><td align="left"><a title="Windows Phone 7 开发 31 日谈——第2日:页面导航" href="http://www.gwewe.com/dev/topics/1011116242.html" target="_blank">Windows Phone 7 开发 31 日谈——第2日:页面导航</a></td></tr><tr><td align="left"><a title="Windows Phone 7 开发 31 日谈——第1日:项目模板" href="http://www.gwewe.com/dev/topics/1011116237.html" target="_blank">Windows Phone 7 开发 31 日谈——第1日:项目模板</a></td></tr></tbody></table>
<table border="1" cellspacing="0" cellpadding="3" width="100%" style="margin-top:5px; border-collapse:collapse"><tbody><tr><td bgcolor="#f4f4f4" align="left">标题:《Windows Phone 7 开发探索笔记》专题系列<a name="a2"/><br/>作者:金山崟霸,张崟 (<a href="http://www.cnblogs.com/porscheyin/" target="_blank">博客</a>)</td></tr><tr><td align="left"><a title="Windows Phone 7 开发探索笔记9——菜单栏 " href="http://www.gwewe.com/dev/topics/1012110064.html" target="_blank">Windows Phone 7 开发探索笔记9——菜单栏</a></td></tr><tr><td align="left"><a title="Windows Phone 7 开发探索笔记8——加载XAML文件中的对象" href="http://www.gwewe.com/dev/topics/1012100038.html" target="_blank">Windows Phone 7 开发探索笔记8——加载XAML文件中的对象</a></td></tr><tr><td align="left"><a title="Windows Phone 7 开发探索笔记7——加载XML文件" href="http://www.gwewe.com/dev/topics/1012099937.html" target="_blank">Windows Phone 7 开发探索笔记7——加载XML文件</a></td></tr><tr><td align="left"><a title="Windows Phone 7 开发探索笔记6——页面间传值 " href="http://www.gwewe.com/dev/topics/1012079726.html" target="_blank">Windows Phone 7 开发探索笔记6——页面间传值</a></td></tr><tr><td align="left"><a title="Windows Phone 7 开发探索笔记5——页面间导航 " href="http://www.gwewe.com/dev/topics/1012079711.html" target="_blank">Windows Phone 7 开发探索笔记5——页面间导航</a></td></tr><tr><td align="left"><a title="Windows Phone 7 开发探索笔记4——触控操作之XNA中的Gesture " href="http://www.gwewe.com/dev/topics/1012069544.html" target="_blank">Windows Phone 7 开发探索笔记4——触控操作之XNA中的Gesture</a></td></tr><tr><td align="left"><a title="Windows Phone 7 开发探索笔记3——触控操作之GestureListener " href="http://www.gwewe.com/dev/topics/1012059481.html" target="_blank">Windows Phone 7 开发探索笔记3——触控操作之GestureListener</a></td></tr><tr><td align="left"><a title="Windows Phone 7 开发探索笔记2——触控操作之Manipulation " href="http://www.gwewe.com/dev/topics/1012059469.html" target="_blank">Windows Phone 7 开发探索笔记2——触控操作之Manipulation</a></td></tr><tr><td align="left"><a title="Windows Phone 7 开发探索笔记1——触控操作之Touch " href="http://www.gwewe.com/dev/topics/1012039259.html" target="_blank">Windows Phone 7 开发探索笔记1——触控操作之Touch</a></td></tr><tr><td align="left"><a title="Windows Phone 7 开发探索笔记1——触控操作之Touch " href="http://www.gwewe.com/dev/topics/1012039248.html" target="_blank">Windows Phone 7 开发探索笔记1——触控操作之Touch</a></td></tr></tbody></table>
<table border="1" cellspacing="0" cellpadding="3" width="100%" style="margin-top:5px; border-collapse:collapse"><tbody><tr><td bgcolor="#f4f4f4" align="left">标题:《理解Windows Phone 7应用程序执行模型,墓碑机制,启动器和选择器及更多内容》专题系列<a name="a3"/><br/>作者:金山崟霸,张崟 (<a href="http://www.cnblogs.com/porscheyin/" target="_blank">博客</a>)</td></tr><tr><td align="left"><a title=" 理解Windows Phone 7应用程序执行模型,墓碑机制,启动器和选择器及更多内容——Part 3" href="http://www.gwewe.com/dev/topics/1011116229.html" target="_blank">理解Windows Phone 7应用程序执行模型,墓碑机制,启动器和选择器及更多内容——Part 3</a></td></tr><tr><td align="left"><a title="理解Windows Phone 7应用程序执行模型,墓碑机制,启动器和选择器及更多内容——Part 2" href="http://www.gwewe.com/dev/topics/1011116224.html" target="_blank">理解Windows Phone 7应用程序执行模型,墓碑机制,启动器和选择器及更多内容——Part 2</a></td></tr><tr><td align="left"><a title="理解 Windows Phone 7应用程序执行模型,墓碑机制,启动器和选择器及更多内容 ——Part 1" href="http://www.gwewe.com/dev/topics/1011116219.html" target="_blank">理解 Windows Phone 7应用程序执行模型,墓碑机制,启动器和选择器及更多内容 ——Part 1</a></td></tr><tr><td align="left"><a title="理解Windows Phone 7应用程序执行模型,墓碑机制,启动器和选择器及更多内容——Part 1 " href="http://www.gwewe.com/dev/featured/1011237737.html" target="_blank">理解Windows Phone 7应用程序执行模型,墓碑机制,启动器和选择器及更多内容——Part 1</a></td></tr></tbody></table>
<table border="1" cellspacing="0" cellpadding="3" width="100%" style="margin-top:5px; border-collapse:collapse"><tbody><tr><td bgcolor="#f4f4f4" align="left">标题:《WP7 App性能优化》专题系列<a name="a4"/><br/>作者:MagicBoy,李鹏 (<a href="http://www.cnblogs.com/magicboy110/" target="_blank">博客</a>)</td></tr><tr><td align="left"><a title="WP7 App性能优化(13):检测应用程序性能(Ⅵ)" href="http://www.gwewe.com/dev/topics/1101011564.html" target="_blank">WP7 App性能优化(13):检测应用程序性能(Ⅵ)</a></td></tr><tr><td align="left"><a title="WP7 App性能优化(12):检测应用程序性能(Ⅴ)" href="http://www.gwewe.com/dev/topics/1012311531.html" target="_blank">WP7 App性能优化(12):检测应用程序性能(Ⅴ)</a></td></tr><tr><td align="left"><a title="WP7 App性能优化(11):检测应用程序性能(Ⅳ)" href="http://www.gwewe.com/dev/topics/1012281507.html" target="_blank">WP7 App性能优化(11):检测应用程序性能(Ⅳ)</a></td></tr><tr><td align="left"><a title="WP7 App性能优化(10):检测应用程序性能(Ⅲ)" href="http://www.gwewe.com/dev/topics/1012281505.html" target="_blank">WP7 App性能优化(10):检测应用程序性能(Ⅲ)</a></td></tr><tr><td align="left"><a title="WP7 App性能优化(9):检测应用程序性能(Ⅱ)" href="http://www.gwewe.com/dev/topics/1012281501.html" target="_blank">WP7 App性能优化(9):检测应用程序性能(Ⅱ)</a></td></tr><tr><td align="left"><a title="WP7 App性能优化(8):检测应用程序性能(Ⅰ)" href="http://www.gwewe.com/dev/topics/1012281499.html" target="_blank">WP7 App性能优化(8):检测应用程序性能(Ⅰ)</a></td></tr><tr><td align="left"><a title="WP7 App性能优化(7):其他性能要点" href="http://www.gwewe.com/dev/topics/1012251410.html" target="_blank">WP7 App性能优化(7):其他性能要点</a></td></tr><tr><td align="left"><a title="WP7 App性能优化(6):理解线程" href="http://www.gwewe.com/dev/topics/1012211222.html" target="_blank">WP7 App性能优化(6):理解线程</a></td></tr><tr><td align="left"><a title="WP7 App性能优化(5):加快应用程序启动速度(下)" href="http://www.gwewe.com/dev/topics/1012191093.html" target="_blank">WP7 App性能优化(5):加快应用程序启动速度(下)</a></td></tr><tr><td align="left"><a title="WP7 App性能优化(4):加快应用程序启动速度(上)" href="http://www.gwewe.com/dev/topics/1012170983.html" target="_blank">WP7 App性能优化(4):加快应用程序启动速度(上)</a></td></tr><tr><td align="left"><a title="WP7 App性能优化(3):隐藏与显示对象" href="http://www.gwewe.com/dev/topics/1012160954.html" target="_blank">WP7 App性能优化(3):隐藏与显示对象</a></td></tr><tr><td align="left"><a title="WP7 App性能优化(2):多媒体" href="http://www.gwewe.com/dev/topics/1012150828.html" target="_blank">WP7 App性能优化(2):多媒体</a></td></tr><tr><td align="left"><a title="WP7 App性能优化(1):图片" href="http://www.gwewe.com/dev/topics/1012150823.html" target="_blank">WP7 App性能优化(1):图片</a></td></tr><tr><td align="left"><a title="WP7 App性能优化(0):索引" href="http://www.gwewe.com/dev/topics/1012150821.html" target="_blank">WP7 App性能优化(0):索引</a></td></tr></tbody></table>
<table border="1" cellspacing="0" cellpadding="3" width="100%" style="margin-top:5px; border-collapse:collapse"><tbody><tr><td bgcolor="#f4f4f4" align="left">标题:《WP7开发解惑》专题系列<a name="a5"/><br/>作者:MagicBoy,李鹏 (<a href="http://www.cnblogs.com/magicboy110/" target="_blank">博客</a>)</td></tr><tr><td align="left"><a title="WP7开发解惑(1):BuildAction之Content与Resource" href="http://www.gwewe.com/dev/topics/1012150803.html" target="_blank">WP7开发解惑(1):BuildAction之Content与Resourc</a></td></tr><tr><td align="left"><a title="WP7开发解惑(2):如何从安装文件夹拷贝文件到独立存储" href="http://www.gwewe.com/dev/topics/1012150815.html" target="_blank">WP7开发解惑(2):如何从安装文件夹拷贝文件到独立存储</a></td></tr></tbody></table>
<table border="1" cellspacing="0" cellpadding="3" width="100%" style="margin-top:5px; border-collapse:collapse"><tbody><tr><td bgcolor="#f4f4f4" align="left">标题:《Windows Phone 7范例游戏Platformer实战》专题系列<a name="a6"/><br/>作者:軒轅 (<a href="http://www.cnblogs.com/imobiler/" target="_blank">博客</a>)</td></tr><tr><td align="left"><a title="Windows Phone 7范例游戏Platformer实战9——僵尸怪" href="http://www.gwewe.com/dev/topics/1012211243.html" target="_blank">Windows Phone 7范例游戏Platformer实战9——僵尸怪</a></td></tr><tr><td align="left"><a title="Windows Phone 7范例游戏Platformer实战8——精灵动画的绘制实现" href="http://www.gwewe.com/dev/topics/1012140753.html" target="_blank">Windows Phone 7范例游戏Platformer实战8——精灵动画的绘制实现</a></td></tr><tr><td align="left"><a title="Windows Phone 7范例游戏Platformer实战7——简单动画的绘制实现原理 " href="http://www.gwewe.com/dev/topics/1012130305.html" target="_blank">Windows Phone 7范例游戏Platformer实战7——简单动画的绘制实现原理</a></td></tr><tr><td align="left"><a title="Windows Phone 7范例游戏Platformer实战6——加速度传感器解读 " href="http://www.gwewe.com/dev/topics/1012110102.html" target="_blank">Windows Phone 7范例游戏Platformer实战6——加速度传感器解读</a></td></tr><tr><td align="left"><a title="Windows Phone 7范例游戏Platformer实战5——多点触控编程 " href="http://www.gwewe.com/dev/topics/1012110099.html" target="_blank">Windows Phone 7范例游戏Platformer实战5——多点触控编程</a></td></tr><tr><td align="left"><a title="Windows Phone 7范例游戏Platformer实战4——冲突检测的实现 " href="http://www.gwewe.com/dev/topics/1012110092.html" target="_blank">Windows Phone 7范例游戏Platformer实战4——冲突检测的实现</a></td></tr><tr><td align="left"><a title="Windows Phone 7范例游戏Platformer实战3——游戏资源和内容管道 " href="http://www.gwewe.com/dev/topics/1012110080.html" target="_blank">Windows Phone 7范例游戏Platformer实战3——游戏资源和内容管道</a></td></tr><tr><td align="left"><a title="Windows Phone 7范例游戏Platformer实战2——游戏设计初步 " href="http://www.gwewe.com/dev/topics/1012110077.html" target="_blank">Windows Phone 7范例游戏Platformer实战2——游戏设计初步</a></td></tr><tr><td align="left"><a title="Windows Phone 7范例游戏Platformer实战1——5大平台支持 " href="http://www.gwewe.com/dev/topics/1012110073.html" target="_blank">Windows Phone 7范例游戏Platformer实战1——5大平台支持</a></td></tr></tbody></table>
<table border="1" cellspacing="0" cellpadding="3" width="100%" style="margin-top:5px; border-collapse:collapse"><tbody><tr><td bgcolor="#f4f4f4" align="left">标题:《多样化实现Windows phone 7本地数据访问》专题系列<a name="a7"/><br/>作者:chenkai,陈凯 (<a href="http://www.cnblogs.com/chenkai/" target="_blank">博客</a>)</td></tr><tr><td align="left"><a title="多样化实现Windows phone 7本地数据访问<5>——深入Rapid Repository" href="http://www.gwewe.com/dev/topics/1011288297.html" target="_blank">多样化实现Windows phone 7本地数据访问<5>——深入Rapid Repository</a></td></tr><tr><td align="left"><a title="多样化实现Windows Phone 7本地数据访问<4>——Rapid Repository" href="http://www.gwewe.com/dev/topics/1011177094.html" target="_blank">多样化实现Windows Phone 7本地数据访问<4>——Rapid Repository</a></td></tr><tr><td align="left"><a title="多样化实现Windows Phone 7本地数据访问<3>——DB4O" href="http://www.gwewe.com/dev/topics/1010082442.html" target="_blank">多样化实现Windows Phone 7本地数据访问<3>——DB4O</a></td></tr><tr><td align="left"><a title="多样化实现Windows Phone 7本地数据库访问<2>" href="http://www.gwewe.com/dev/topics/1009140699.html" target="_blank">多样化实现Windows Phone 7本地数据库访问<2></a></td></tr><tr><td align="left"><a title="多样化实现Windows Phone 7本地数据库访问<1>" href="http://www.gwewe.com/dev/topics/1009140687.html" target="_blank">多样化实现Windows Phone 7本地数据库访问<1></a></td></tr></tbody></table>
<table border="1" cellspacing="0" cellpadding="3" width="100%" style="margin-top:5px; border-collapse:collapse"><tbody><tr><td bgcolor="#f4f4f4" align="left">标题:《Windows Phone 7 不温不火学习》专题系列<a name="a8"/><br/>作者:terry,杨海龙 (<a href="http://www.cnblogs.com/TerryBlog/" target="_blank">博客</a>)</td></tr><tr><td align="left"><a title="Windows Phone 7 不温不火学习之《ListBox 数据与Android ListView 数据绑定》" href="http://www.gwewe.com/dev/topics/1101141805.html" target="_blank">Windows Phone 7 不温不火学习之《ListBox 数据与Android ListView 数据绑定》</a></td></tr><tr><td align="left"><a title="Windows Phone 7 不温不火学习之《工程结构》" href="http://www.gwewe.com/dev/topics/1012140339.html" target="_blank">Windows Phone 7 不温不火学习之《工程结构》</a></td></tr><tr><td align="left"><a title="Windows Phone 7 不温不火学习之《推送通知服务》" href="http://www.gwewe.com/dev/topics/1101091692.html" target="_blank">Windows Phone 7 不温不火学习之《推送通知服务》</a></td></tr><tr><td align="left"><a title="Windows Phone 7 不温不火学习之《程序性能分析器》" href="http://www.gwewe.com/dev/topics/1101041620.html" target="_blank">Windows Phone 7 不温不火学习之《程序性能分析器》</a></td></tr><tr><td align="left"><a title="Windows Phone 7 不温不火学习之《启动器与选择器》" href="http://www.gwewe.com/dev/topics/1101041577.html" target="_blank">Windows Phone 7 不温不火学习之《启动器与选择器》</a></td></tr><tr><td align="left"><a title="Windows Phone 7 不温不火学习之《独立存储空间》" href="http://www.gwewe.com/dev/topics/1012301530.html" target="_blank">Windows Phone 7 不温不火学习之《独立存储空间》</a></td></tr><tr><td align="left"><a title="Windows Phone 7 不温不火学习之《使用Expression Blend 创建应用程序栏》" href="http://www.gwewe.com/dev/featured/1012241375.html" target="_blank">Windows Phone 7 不温不火学习之《使用Expression Blend 创建应用程序栏》</a></td></tr><tr><td align="left"><a title="Windows Phone 7 不温不火学习之《数据绑定与应用程序栏》" href="http://www.gwewe.com/dev/featured/1012221292.html" target="_blank">Windows Phone 7 不温不火学习之《数据绑定与应用程序栏》</a></td></tr><tr><td align="left"><a title="Windows Phone 7 不温不火学习之《页面导航》" href="http://www.gwewe.com/dev/featured/1012201153.html" target="_blank">Windows Phone 7 不温不火学习之《页面导航》</a></td></tr><tr><td align="left"><a title="Windows Phone7 不温不火学习之《应用程序生命周期》" href="http://www.gwewe.com/dev/topics/1012181074.html" target="_blank">Windows Phone7 不温不火学习之《应用程序生命周期》</a></td></tr><tr><td align="left"><a title="Winows Phone 7 不温不火学习之《音乐播放示例》" href="http://www.gwewe.com/dev/topics/1012160957.html" target="_blank">Windows Phone 7 不温不火学习之《音乐播放示例》</a></td></tr></tbody></table>
<table border="1" cellspacing="0" cellpadding="3" width="100%" style="margin-top:5px; border-collapse:collapse"><tbody><tr><td bgcolor="#f4f4f4" align="left">标题:《Silverlight for Windows Phone 7开发系列》专题系列<a name="a9"/><br/>作者:Jake Lin,林永坚 (<a href="http://www.cnblogs.com/procoder/" target="_blank">博客</a>)</td></tr><tr><td align="left"><a title="Silverlight for Windows Phone 7开发系列(4):动画开发" href="http://www.gwewe.com/dev/topics/1009281880.html" target="_blank">Silverlight for Windows Phone 7开发系列(4):动画开发</a></td></tr><tr><td align="left"><a title="Silverlight for Windows Phone 7开发系列(3):多媒体开发" href="http://www.gwewe.com/dev/topics/1009271848.html" target="_blank">Silverlight for Windows Phone 7开发系列(3):多媒体开发</a></td></tr><tr><td align="left"><a title="Silverlight for Windows Phone 7开发系列(2):第一个Silverlight程序" href="http://www.gwewe.com/dev/topics/1009271835.html" target="_blank">Silverlight for Windows Phone 7开发系列(2):第一个Silverlight程序</a></td></tr><tr><td align="left"><a title="Silverlight for Windows Phone 7开发系列(1):环境搭建" href="http://www.gwewe.com/dev/topics/1009271833.html" target="_blank">Silverlight for Windows Phone 7开发系列(1):环境搭建</a></td></tr><tr><td align="left"><a title="《Silverlight for Windows Phone 7开发系列》专题整理" href="http://www.gwewe.com/dev/topics/1010062241.html" target="_blank">《Silverlight for Windows Phone 7开发系列》专题整理</a></td></tr></tbody></table>
<table border="1" cellspacing="0" cellpadding="3" width="100%" style="margin-top:5px; border-collapse:collapse"><tbody><tr><td bgcolor="#f4f4f4" align="left">标题:《新浪微博客户端围脖七开发笔记》专题系列<a name="a10"/><br/>作者:上尉,王皓 (<a href="http://www.cnblogs.com/midshipman/" target="_blank">博客</a>)</td></tr><tr><td align="left"><a title="新浪微博客户端围脖七开发笔记(4) 实现SinaService接口 " href="http://www.gwewe.com/dev/topics/1012110120.html" target="_blank">新浪微博客户端围脖七开发笔记(4) 实现SinaService接口</a></td></tr><tr><td align="left"><a title="新浪微博客户端围脖七开发笔记(3) 如何添加异步测试并模拟异步方法 " href="http://www.gwewe.com/dev/topics/1012110112.html" target="_blank">新浪微博客户端围脖七开发笔记(3) 如何添加异步测试并模拟异步方法</a></td></tr><tr><td align="left"><a title="新浪微博客户端围脖七开发笔记(2) 添加更多测试到MainPageViewModel " href="http://www.gwewe.com/dev/topics/1011207457.html" target="_blank">新浪微博客户端围脖七开发笔记(2) 添加更多测试到MainPageViewModel</a></td></tr><tr><td align="left"><a title="新浪微博客户端围脖七开发笔记(1) TDD环境的搭建 " href="http://www.gwewe.com/dev/topics/1011207452.html" target="_blank">新浪微博客户端围脖七开发笔记(1) TDD环境的搭建</a></td></tr><tr><td align="left"><a title="围脖七: Windows Phone 7 上的Sina微博客户端 " href="http://www.gwewe.com/dev/topics/1011105982.html" target="_blank">围脖七: Windows Phone 7 上的Sina微博客户端</a></td></tr></tbody></table>
| [Windows Phone 7应用之sina微博——UI设计](http://www.gwewe.com/dev/topics/1011288285.html "Windows Phone 7应用之sina微博——UI设计") |
|-----|
| [Windows Phone 7应用之Tencent微博——OAuth认证](http://www.gwewe.com/dev/featured/1101131787.html "Windows Phone 7应用之Tencent微博——OAuth认证") |
<table border="1" cellspacing="0" cellpadding="3" width="100%" style="margin-top:5px; border-collapse:collapse"><tbody><tr><td bgcolor="#f4f4f4" align="left">标题:《Windows Phone 7 Tip》专题系列<a name="a11"/><br/>作者:上尉,王皓 (<a href="http://www.cnblogs.com/midshipman/" target="_blank">博客</a>)</td></tr><tr><td align="left"><a title="Windows Phone 7 Tip (17) -- 如何设置屏幕定时器 " href="http://www.gwewe.com/dev/featured/1101081683.html" target="_blank">Windows Phone 7 Tip (17) -- 如何设置屏幕定时器</a></td></tr><tr><td align="left"><a title="Windows Phone 7 Tip (14) -- 如何取得屏幕截图 " href="http://www.gwewe.com/dev/topics/1011105980.html" target="_blank">Windows Phone 7 Tip (14) -- 如何取得屏幕截图</a></td></tr><tr><td align="left"><a title="Windows Phone 7 Tip (12) — No ListBox inside SrollViewer" href="http://www.gwewe.com/dev/topics/1009251341.html" target="_blank">Windows Phone 7 Tip (12) — No ListBox inside SrollViewer</a></td></tr><tr><td align="left"><a title="Windows Phone 7 Tip (11) — TextBlock wrap" href="http://www.gwewe.com/dev/topics/1009251339.html" target="_blank">Windows Phone 7 Tip (11) — TextBlock wrap</a></td></tr><tr><td align="left"><a title="Windows Phone 7 Tip (10) — 使用NavigationService.GoBack()" href="http://www.gwewe.com/dev/topics/1009251337.html" target="_blank">Windows Phone 7 Tip (10) — 使用NavigationService.GoBack()</a></td></tr><tr><td align="left"><a title="Windows Phone 7 Tip (9) — twitter47" href="http://www.gwewe.com/dev/topics/1009251327.html" target="_blank">Windows Phone 7 Tip (9) — twitter47</a></td></tr><tr><td align="left"><a title="Windows Phone 7 Tip (8) — ApplicationBar" href="http://www.gwewe.com/dev/topics/1009251325.html" target="_blank">Windows Phone 7 Tip (8) — ApplicationBar</a></td></tr><tr><td align="left"><a title="Windows Phone 7 Tip (7) — 如何判断app在模拟器中运行" href="http://www.gwewe.com/dev/topics/1009251323.html" target="_blank">Windows Phone 7 Tip (7) — 如何判断app在模拟器中运行</a></td></tr><tr><td align="left"><a title="Windows Phone 7 Tip (6) — 如何恢复离开页面时的list位置" href="http://www.gwewe.com/dev/topics/1009251321.html" target="_blank">Windows Phone 7 Tip (6) — 如何恢复离开页面时的list位置</a></td></tr><tr><td align="left"><a title="Windows Phone 7 Tip (5) — App liftcycle" href="http://www.gwewe.com/dev/featured/1009251319.html" target="_blank">Windows Phone 7 Tip (5) — App liftcycle</a></td></tr><tr><td align="left"><a title="Windows Phone 7 Tip (4) — User Agent" href="http://www.gwewe.com/dev/topics/1009251317.html" target="_blank">Windows Phone 7 Tip (4) — User Agent</a></td></tr><tr><td align="left"><a title="Windows Phone 7 Tip (3) — Splash Screen" href="http://www.gwewe.com/dev/topics/1009251314.html" target="_blank">Windows Phone 7 Tip (3) — Splash Screen</a></td></tr><tr><td align="left"><a title="Windows Phone 7 Tip (2) — Data Binding" href="http://www.gwewe.com/dev/topics/1009251312.html" target="_blank">Windows Phone 7 Tip (2) — Data Binding</a></td></tr><tr><td align="left"><a title="Windows Phone 7 Tip (1) — Input Scopes" href="http://www.gwewe.com/dev/topics/1009251310.html" target="_blank">Windows Phone 7 Tip (1) — Input Scopes</a></td></tr><tr><td align="left"><a title="《Windows Phone 7 Tip》 专题整理" href="http://www.gwewe.com/dev/topics/1010062238.html" target="_blank">《Windows Phone 7 Tip》 专题整理</a></td></tr></tbody></table>
<table border="1" cellspacing="0" cellpadding="3" width="100%" style="margin-top:5px; border-collapse:collapse"><tbody><tr><td bgcolor="#f4f4f4" align="left">标题:《windows phone 7开发日志》专题系列<a name="a12"/><br/>作者:疯光无线,李剑英 (<a href="http://www.cnblogs.com/crazylights/" target="_blank">博客</a>)</td></tr><tr><td align="left"><a title="windows phone 7开发日志(正题二,字体)" href="http://www.gwewe.com/dev/topics/1011298439.html" target="_blank">windows phone 7开发日志(正题二,字体)</a></td></tr><tr><td align="left"><a title="windows phone 7 开发日志(正题一,结构) " href="http://www.gwewe.com/dev/topics/1011298426.html" target="_blank">windows phone 7 开发日志(正题一,结构)</a></td></tr><tr><td align="left"><a title="windows phone 7 开发日志(初试四、模型和动画) " href="http://www.gwewe.com/dev/topics/1011298421.html" target="_blank">windows phone 7 开发日志(初试四、模型和动画)</a></td></tr><tr><td align="left"><a title="windows phone 7 开发日志(初试三、地形) " href="http://www.gwewe.com/dev/topics/1011298415.html" target="_blank">windows phone 7 开发日志(初试三、地形)</a></td></tr><tr><td align="left"><a title="windows phone 7 开发日志(初试二、shader) " href="http://www.gwewe.com/dev/topics/1011298413.html" target="_blank">windows phone 7 开发日志(初试二、shader)</a></td></tr><tr><td align="left"><a title="Windows Phone 7 开发日志(初试一、随便研究) " href="http://www.gwewe.com/dev/topics/1011298410.html" target="_blank">Windows Phone 7 开发日志(初试一、随便研究)</a></td></tr></tbody></table>
<table border="1" cellspacing="0" cellpadding="3" width="100%" style="margin-top:5px; border-collapse:collapse"><tbody><tr><td bgcolor="#f4f4f4" align="left">标题:《一起学Windows Phone 7开发》专题系列<a name="a13"/><br/>作者:小镇,306Room (<a href="http://www.cnblogs.com/randylee/" target="_blank">博客</a>)</td></tr><tr><td align="left"><a title="一起学windows phone7开发(二十七. XNA在Silverlight 中的应用) " href="http://www.gwewe.com/dev/topics/1012231336.html" target="_blank">一起学Windows phone 7开发(二十七. XNA在Silverlight 中的应用)</a></td></tr><tr><td align="left"><a title="一起学windows phone7开发(二十五.Toolkit 增补)" href="http://www.gwewe.com/dev/topics/1011156769.html" target="_blank">一起学Windows phone 7开发(二十五.Toolkit 增补)</a></td></tr><tr><td align="left"><a title="一起学windows phone7开发(二十四. Task 补遗)" href="http://www.gwewe.com/dev/topics/1011045306.html" target="_blank">一起学Windows phone 7开发(二十四. Task 补遗)</a></td></tr><tr><td align="left"><a title="一起学习Windows Phone7开发(二十三 Windows Phone7 Toolkit 补遗)" href="http://www.gwewe.com/dev/topics/1011035138.html" target="_blank">一起学Windows Phone 7开发(二十三 Windows Phone7 Toolkit 补遗)</a></td></tr><tr><td align="left"><a title="一起学windows phone7开发(二十二.使用系统资源)" href="http://www.gwewe.com/dev/topics/1011025017.html" target="_blank">一起学Windows phone 7开发(二十二.使用系统资源)</a></td></tr><tr><td align="left"><a title="一起学windows phone7开发(二十一.三 Map 控件深入学习)" href="http://www.gwewe.com/dev/topics/1011014882.html" target="_blank">一起学Windows phone 7开发(二十一.三 Map 控件深入学习)</a></td></tr><tr><td align="left"><a title="一起学windows phone7开发(二十一.二 Map控件的简单使用)" href="http://www.gwewe.com/dev/topics/1010274586.html" target="_blank">一起学Windows phone 7开发(二十一.二 Map控件的简单使用)</a></td></tr><tr><td align="left"><a title="一起学windows phone7开发(二十一.一 Silverlight bing map控件与 Pone7 map控件的比较)" href="http://www.gwewe.com/dev/topics/1010203976.html" target="_blank">一起学Windows phone 7开发(二十一.一 Silverlight bing map控件与 Pone7 map控件的比较)</a></td></tr><tr><td align="left"><a title="一起学windows phone7开发(二十.一 正式版中新增的 Panorama 和 Pivot Project)" href="http://www.gwewe.com/dev/topics/1010193986.html" target="_blank">一起学Windows phone 7开发(二十.一 正式版中新增的 Panorama 和 Pivot Project)</a></td></tr><tr><td align="left"><a title="一起学Windows phone7开发(十九. Windows phone7发布)" href="http://www.gwewe.com/dev/topics/1010122949.html" target="_blank">一起学Windows phone 7开发(十九. Windows phone7发布)</a></td></tr><tr><td align="left"><a title="一起学习Windows Phone7开发(十八.一 Windows Phone7 Toolkit)" href="http://www.gwewe.com/dev/topics/1010082318.html" target="_blank">一起学Windows Phone 7开发(十八.一 Windows Phone7 Toolkit)</a></td></tr><tr><td align="left"><a title="一起学习Windows Phone7开发(十八. Windows Phone7 Toolkit)" href="http://www.gwewe.com/dev/topics/1009251250.html" target="_blank">一起学Windows Phone 7开发(十八. Windows Phone7 Toolkit)</a></td></tr><tr><td align="left"><a title="一起学习Windows Phone7开发(十七. 向正式版SDK迁移)" href="http://www.gwewe.com/dev/topics/1009251248.html" target="_blank">一起学Windows Phone 7开发(十七. 向正式版SDK迁移)</a></td></tr><tr><td align="left"><a title="一起学Windows phone7(十六. windows phone 7 developer tool RTM 发布)" href="http://www.gwewe.com/dev/topics/1009251246.html" target="_blank">一起学Windows phone 7开发(十六. windows phone 7 developer tool RTM 发布)</a></td></tr><tr><td align="left"><a title="一起学Windows Phone7开发(十五. Device)" href="http://www.gwewe.com/dev/topics/1009110520.html" target="_blank">一起学Windows Phone 7开发(十五. Device)</a></td></tr><tr><td align="left"><a title="一起学Windows Phone7开发(十四.五 Market Task)" href="http://www.gwewe.com/dev/topics/1009110515.html" target="_blank">一起学Windows Phone 7开发(十四.五 Market Task)</a></td></tr><tr><td align="left"><a title="一起学Windows Phone7开发(十四.四 Web Task)" href="http://www.gwewe.com/dev/topics/1009110511.html" target="_blank">一起学Windows Phone 7开发(十四.四 Web Task)</a></td></tr><tr><td align="left"><a title="一起学Windows Phone7开发(十四.三 Multimedia Task)" href="http://www.gwewe.com/dev/topics/1009110507.html" target="_blank">一起学Windows Phone 7开发(十四.三 Multimedia Task)</a></td></tr><tr><td align="left"><a title="一起学Windows Phone7开发(十四.二 Email Task)" href="http://www.gwewe.com/dev/topics/1009110502.html" target="_blank">一起学Windows Phone 7开发(十四.二 Email Task)</a></td></tr><tr><td align="left"><a title="一起学Windows Phone7开发(十四.一 Phone Task)" href="http://www.gwewe.com/dev/topics/1009110496.html" target="_blank">一起学Windows Phone 7开发(十四.一 Phone Task)</a></td></tr><tr><td align="left"><a title="一起学Windows Phone7开发(十三.十 Silverlight.Toolkit 控件)" href="http://www.gwewe.com/dev/topics/1009110491.html" target="_blank">一起学Windows Phone 7开发(十三.十 Silverlight.Toolkit 控件)</a></td></tr><tr><td align="left"><a title="一起学Windows Phone 7开发(十三.九 UserControl控件)" href="http://www.gwewe.com/dev/topics/1009110487.html" target="_blank">一起学Windows Phone 7开发(十三.九 UserControl控件)</a></td></tr><tr><td align="left"><a title="一起学Windows Phone7开发(十三.八 ListBox控件)" href="http://www.gwewe.com/dev/topics/1009110482.html" target="_blank">一起学Windows Phone 7开发(十三.八 ListBox控件)</a></td></tr><tr><td align="left"><a title="一起学Windows Phone7开发(十三.七 绘图控件)" href="http://www.gwewe.com/dev/topics/1009110470.html" target="_blank">一起学Windows Phone 7开发(十三.七 绘图控件)</a></td></tr><tr><td align="left"><a title="一起学Windows Phone7开发(十三.六 Web控件)" href="http://www.gwewe.com/dev/topics/1009110464.html" target="_blank">一起学Windows Phone 7开发(十三.六 Web控件)</a></td></tr><tr><td align="left"><a title="一起学Windows Phone7开发(十三.五 多媒体控件)" href="http://www.gwewe.com/dev/topics/1009110452.html" target="_blank">一起学Windows Phone 7开发(十三.五 多媒体控件)</a></td></tr><tr><td align="left"><a title="一起学Windows Phone7开发(十三.四 基本控件)" href="http://www.gwewe.com/dev/topics/1009110446.html" target="_blank">一起学Windows Phone 7开发(十三.四 基本控件)</a></td></tr><tr><td align="left"><a title="一起学Windows Phone7开发(十三.三 输入控件)" href="http://www.gwewe.com/dev/topics/1009110440.html" target="_blank">一起学Windows Phone 7开发(十三.三 输入控件)</a></td></tr><tr><td align="left"><a title="一起学Windows Phone7开发(十三.二 按钮控件)" href="http://www.gwewe.com/dev/topics/1009110434.html" target="_blank">一起学Windows Phone 7开发(十三.二 按钮控件)</a></td></tr><tr><td align="left"><a title="一起学Windows Phone7开发(十三.一 容器控件)" href="http://www.gwewe.com/dev/topics/1009110423.html" target="_blank">一起学Windows Phone 7开发(十三.一 容器控件)</a></td></tr><tr><td align="left"><a title="一起学Windows Phone7(十三.控件)" href="http://www.gwewe.com/dev/topics/1009100225.html" target="_blank">一起学Windows Phone 7</a><a title="一起学Windows Phone7开发(十二.二 ShellTileSchedule)" href="http://www.gwewe.com/dev/topics/1009100223.html" target="_blank">开发</a><a title="一起学Windows Phone7(十三.控件)" href="http://www.gwewe.com/dev/topics/1009100225.html" target="_blank">(十三.控件)</a></td></tr><tr><td align="left"><a title="一起学Windows Phone7开发(十二.二 ShellTileSchedule)" href="http://www.gwewe.com/dev/topics/1009100223.html" target="_blank">一起学Windows Phone 7开发(十二.二 ShellTileSchedule)</a></td></tr><tr><td align="left"><a title="一起学Windows Phone7开发(十二.一 Tile Notification)" href="http://www.gwewe.com/dev/topics/1009100221.html" target="_blank">一起学Windows Phone 7开发(十二.一 Tile Notification)</a></td></tr><tr><td align="left"><a title="一起学Windows Phone 7开发(十二.Push Notification)" href="http://www.gwewe.com/dev/topics/1009100219.html" target="_blank">一起学Windows Phone 7开发(十二.Push Notification)</a></td></tr><tr><td align="left"><a title="一起学Windows Phone7开发(十一.Beta版模拟器的键盘输入)" href="http://www.gwewe.com/dev/topics/1009100217.html" target="_blank">一起学Windows Phone 7开发(十一.Beta版模拟器的键盘输入)</a></td></tr><tr><td align="left"><a title="一起学Windows Phone7开发(十.Windows Phone 7 CTP-April 向Beta版迁移)" href="http://www.gwewe.com/dev/topics/1009100215.html" target="_blank">一起学Windows Phone 7开发(十.Windows Phone 7 CTP-April 向Beta版迁移)</a></td></tr><tr><td align="left"><a title="一起学Windows Phone 7开发(九.Windows Phone Developer Tools Beta)" href="http://www.gwewe.com/dev/topics/1009100213.html" target="_blank">一起学Windows Phone 7开发(九.Windows Phone Developer Tools Beta)</a></td></tr><tr><td align="left"><a title="一起学Windows Phone 7开发(八.BingMap控件)" href="http://www.gwewe.com/dev/topics/1009100211.html" target="_blank">一起学Windows Phone 7开发(八.BingMap控件)</a></td></tr><tr><td align="left"><a title="一起学Windows Phone 7开发(七.新旧版SDK开发程序的转换)" href="http://www.gwewe.com/dev/topics/1009100209.html" target="_blank">一起学Windows Phone 7开发(七.新旧版SDK开发程序的转换)</a></td></tr><tr><td align="left"><a title="一起学Windows Phone 7开发(六.Isolate Storage)" href="http://www.gwewe.com/dev/topics/1009100207.html" target="_blank">一起学Windows Phone 7开发(六.Isolate Storage)</a></td></tr><tr><td align="left"><a title="一起学Windows phone7开发(五.一个时钟的例子)" href="http://www.gwewe.com/dev/topics/1009100205.html" target="_blank">一起学Windows phone 7开发(五.一个时钟的例子)</a></td></tr><tr><td align="left"><a title="一起学Windows phone 7开发(四. DeepZoom)" href="http://www.gwewe.com/dev/topics/1009100202.html" target="_blank">一起学Windows phone 7开发(四. DeepZoom)</a></td></tr><tr><td align="left"><a title="一起学Windows phone 7开发(三.页面)" href="http://www.gwewe.com/dev/topics/1009100200.html" target="_blank">一起学Windows phone 7开发(三.页面)</a></td></tr><tr><td align="left"><a title="一起学Windows phone 7开发(二.页面间跳转与传值)" href="http://www.gwewe.com/dev/topics/1009100198.html" target="_blank">一起学Windows phone 7开发(二.页面间跳转与传值)</a></td></tr><tr><td align="left"><a title="一起学Windows phone 7开发(一.Application Bar)" href="http://www.gwewe.com/dev/topics/1009100196.html" target="_blank">一起学Windows phone 7开发(一.Application Bar)</a></td></tr><tr><td align="left"><a title="《一起学Windows phone 7开发》专题整理" href="http://www.gwewe.com/dev/topics/1009271818.html" target="_blank">《一起学Windows phone 7开发》专题整理</a></td></tr><tr><td align="left"><a title="《一起学Windows phone7开发》系列视频课程" href="http://www.gwewe.com/dev/download/1012301529.html" target="_blank">《一起学Windows phone7开发》系列视频课程</a></td></tr></tbody></table>
<table border="1" cellspacing="0" cellpadding="3" width="100%" style="margin-top:5px; border-collapse:collapse"><tbody><tr><td bgcolor="#f4f4f4" align="left">标题:《Windows phone 7之初体验》专题系列<a name="a14"/><br/>作者:小镇,306Room (<a href="http://www.cnblogs.com/randylee/" target="_blank">博客</a>)</td></tr><tr><td align="left"><a title="Windows phone 7之初体验(七.微软真机秀)" href="http://www.gwewe.com/dev/topics/1009070114.html" target="_blank">Windows phone 7之初体验(七.微软真机秀)</a></td></tr><tr><td align="left"><a title="Windows Phone 7之初体验(六.完整版模拟器)" href="http://www.gwewe.com/dev/topics/1009070107.html" target="_blank">Windows Phone 7之初体验(六.完整版模拟器)</a></td></tr><tr><td align="left"><a title="Windows Phone 7之初体验(五.我的第一个应用程序)" href="http://www.gwewe.com/dev/topics/1009070099.html" target="_blank">Windows Phone 7之初体验(五.我的第一个应用程序)</a></td></tr><tr><td align="left"><a title="Windows Phone 7之初体验(四.平台架构简介)" href="http://www.gwewe.com/dev/topics/1009070094.html" target="_blank">Windows Phone 7之初体验(四.平台架构简介)</a></td></tr><tr><td align="left"><a title="Windows Phone 7之初体验(三.开发问答(转发))" href="http://www.gwewe.com/dev/topics/1009070092.html" target="_blank">Windows Phone 7之初体验(三.开发问答(转发))</a></td></tr><tr><td align="left"><a title="Windows phone 7 之初体验(二.开发环境与模拟器)" href="http://www.gwewe.com/dev/topics/1009070084.html" target="_blank">Windows phone 7 之初体验(二.开发环境与模拟器)</a></td></tr><tr><td align="left"><a title="Windows phone 7 之初体验(一.安装Windows phone 7 sdk)" href="http://www.gwewe.com/dev/topics/1009070082.html" target="_blank">Windows phone 7 之初体验(一.安装Windows phone 7 sdk)</a></td></tr><tr><td align="left"><a title="《Windows Phone 7之初体验》专题" href="http://www.gwewe.com/dev/topics/1009271831.html" target="_blank">《Windows Phone 7之初体验》专题</a></td></tr></tbody></table>
<table border="1" cellspacing="0" cellpadding="3" width="100%" style="margin-top:5px; border-collapse:collapse"><tbody><tr><td bgcolor="#f4f4f4" align="left">标题:《深入学习Windows Phone 7》专题系列<a name="a15"/><br/>作者:小镇,306Room (<a href="http://www.cnblogs.com/randylee/" target="_blank">博客</a>)</td></tr><tr><td align="left"><a title="深入学习Windows Phone7(四. Tombstone)" href="http://www.gwewe.com/dev/topics/1010112701.html" target="_blank">深入学习Windows Phone7(四. Tombstone)</a></td></tr><tr><td align="left"><a title="深入学习Windows Phone7(三. Visual State Manager)" href="http://www.gwewe.com/dev/topics/1009140764.html" target="_blank">深入学习Windows Phone7(三. Visual State Manager)</a></td></tr><tr><td align="left"><a title="深入学习Windows Phone7(二. Music + Videos hub)" href="http://www.gwewe.com/dev/topics/1009140761.html" target="_blank">深入学习Windows Phone7(二. Music + Videos hub)</a></td></tr><tr><td align="left"><a title="深入学习Windows Phone7(一. Reactive Extension)" href="http://www.gwewe.com/dev/topics/1009140757.html" target="_blank">深入学习Windows Phone7(一. Reactive Extension)</a></td></tr></tbody></table>
<table border="1" cellspacing="0" cellpadding="3" width="100%" style="margin-top:5px; border-collapse:collapse"><tbody><tr><td bgcolor="#f4f4f4" align="left">标题:《一起学WP7 XNA游戏开发》专题系列<a name="a16"/><br/>作者:小镇,306Room (<a href="http://www.cnblogs.com/randylee/" target="_blank">博客</a>)</td></tr><tr><td align="left"><a title="一起学WP7 XNA游戏开发(五. Sound)" href="http://www.gwewe.com/dev/topics/1011106175.html" target="_blank">一起学WP7 XNA游戏开发(五. Sound)</a></td></tr><tr><td align="left"><a title="一起学WP7 XNA游戏开发(四. Input)" href="http://www.gwewe.com/dev/topics/1011095801.html" target="_blank">一起学WP7 XNA游戏开发(四. Input)</a></td></tr><tr><td align="left"><a title="一起学WP7 XNA游戏开发(三.二 Sprite Texture Font)" href="http://www.gwewe.com/dev/topics/1010183809.html" target="_blank">一起学WP7 XNA游戏开发(三.二 Sprite Texture Font)</a></td></tr><tr><td align="left"><a title="一起学wp7 XNA游戏开发(三. 一 SpriteFont)" href="http://www.gwewe.com/dev/topics/1010163667.html" target="_blank">一起学wp7 XNA游戏开发(三. 一 SpriteFont)</a></td></tr><tr><td align="left"><a title="一起学wp7 XNA游戏开发(二. XNA Game 开发架构)" href="http://www.gwewe.com/dev/topics/1010143305.html" target="_blank">一起学wp7 XNA游戏开发(二. XNA Game 开发架构)</a></td></tr><tr><td align="left"><a title="一起学wp7 XNA游戏开发(一. 初识XNA)" href="http://www.gwewe.com/dev/topics/1010143302.html" target="_blank">一起学wp7 XNA游戏开发(一. 初识XNA)</a></td></tr></tbody></table>
<table border="1" cellspacing="0" cellpadding="3" width="100%" style="margin-top:5px; border-collapse:collapse"><tbody><tr><td bgcolor="#f4f4f4" align="left">标题:《手把手教用XNA开发winphone7游戏》专题系列<a name="a17"/><br/>作者:爱喝可乐的猫 ,zouyuntao (<a href="http://www.cnblogs.com/zouyuntao/" target="_blank">博客</a>)</td></tr><tr><td align="left"><a title="手把手教用XNA开发WINPHONE7游戏中级教程(一)" href="http://www.gwewe.com/dev/topics/1011156776.html" target="_blank">手把手教用XNA开发WINPHONE7游戏中级教程(一)</a></td></tr><tr><td align="left"><a title="手把手教用XNA开发winphone7游戏(五)大结局" href="http://www.gwewe.com/dev/topics/1011136703.html" target="_blank">手把手教用XNA开发winphone7游戏(五)大结局</a></td></tr><tr><td align="left"><a title="手把手教用XNA开发winphone7游戏(四)" href="http://www.gwewe.com/dev/topics/1011136698.html" target="_blank">手把手教用XNA开发winphone7游戏(四)</a></td></tr><tr><td align="left"><a title="手把手教用XNA开发winphone7游戏(三)" href="http://www.gwewe.com/dev/topics/1011116203.html" target="_blank">手把手教用XNA开发winphone7游戏(三)</a></td></tr><tr><td align="left"><a title="手把手教用XNA开发winphone游戏(二)" href="http://www.gwewe.com/dev/topics/1011095963.html" target="_blank">手把手教用XNA开发winphone游戏(二)</a></td></tr><tr><td align="left"><a title="手把手教用XNA开发WINPHONE游戏(一)" href="http://www.gwewe.com/dev/topics/1011095761.html" target="_blank">手把手教用XNA开发WINPHONE游戏(一)</a></td></tr><tr><td align="left"><a title="Windows Phone 7 XNA游戏开发必知" href="http://www.gwewe.com/dev/featured/1009251453.html" target="_blank">Windows Phone 7 XNA游戏开发必知</a></td></tr></tbody></table>
<table border="1" cellspacing="0" cellpadding="3" width="100%" style="margin-top:5px; border-collapse:collapse"><tbody><tr><td bgcolor="#f4f4f4" align="left">标题:《WP7有约》专题系列<a name="a18"/><br/>作者:Allen Lee,李永伦 (<a href="http://www.cnblogs.com/allenlooplee/" target="_blank">博客</a>)</td></tr><tr><td align="left"><a title="WP7有约(三):课堂重点 " href="http://www.gwewe.com/dev/topics/1101131789.html" target="_blank">WP7有约(三):课堂重点</a></td></tr><tr><td align="left"><a title="WP7有约(二):课后作业" href="http://www.gwewe.com/dev/topics/1012140564.html" target="_blank">WP7有约(二):课后作业</a></td></tr><tr><td align="left"><a title="WP7有约(一):课程安排" href="http://www.gwewe.com/dev/topics/1011176961.html" target="_blank">WP7有约(一):课程安排</a></td></tr></tbody></table>
<table border="1" cellspacing="0" cellpadding="3" width="100%" style="margin-top:5px; border-collapse:collapse"><tbody><tr><td bgcolor="#f4f4f4" align="left">标题:《WP7 Dev 101》专题系列<a name="a19"/><br/>作者:WPMind (<a href="http://www.wpmind.com" target="_blank">WPMind</a>)</td></tr><tr><td align="left"><a title="WP7 Dev 101 【10】 如何给你的程序截图" href="http://www.gwewe.com/dev/topics/1101151816.html" target="_blank">WP7 Dev 101 【10】 如何给你的程序截图</a></td></tr><tr><td align="left"><a title="WP7 Dev 101 【9】 要为你的程序准备多少图标(图片)?" href="http://www.gwewe.com/dev/topics/1101151815.html" target="_blank">WP7 Dev 101 【9】 要为你的程序准备多少图标(图片)?</a></td></tr><tr><td align="left"><a title="WP7 Dev 101 【8】 系统的Theme" href="http://www.gwewe.com/dev/topics/1101151814.html" target="_blank">WP7 Dev 101 【8】 系统的Theme</a></td></tr><tr><td align="left"><a title="WP7 Dev 101 【7】 选择BuildAction" href="http://www.gwewe.com/dev/topics/1101151813.html" target="_blank">WP7 Dev 101 【7】 选择BuildAction</a></td></tr><tr><td align="left"><a title="WP7 Dev 101 【6】 如何退出你的程序?" href="http://www.gwewe.com/dev/topics/1101151812.html" target="_blank">WP7 Dev 101 【6】 如何退出你的程序?</a></td></tr><tr><td align="left"><a title="WP7 Dev 101 【5】 应用程序的能力" href="http://www.gwewe.com/dev/topics/1101151811.html" target="_blank">WP7 Dev 101 【5】 应用程序的能力</a></td></tr><tr><td align="left"><a title="WP7 Dev 101 【4】 如何获取用户和手机的信息" href="http://www.gwewe.com/dev/topics/1101151810.html" target="_blank">WP7 Dev 101 【4】 如何获取用户和手机的信息</a></td></tr><tr><td align="left"><a title="WP7 Dev 101 【3】 向Windows Phone 7手机部署应用程序" href="http://www.gwewe.com/dev/de/1010163605.html" target="_blank">WP7 Dev 101 【3】 向Windows Phone 7手机部署应用程序</a></td></tr><tr><td align="left"><a title="WP7 Dev 101 【2】 你所要了解的一些数字" href="http://www.gwewe.com//dev/topics/1101151809.html" target="_blank">WP7 Dev 101 【2】 你所要了解的一些数字</a></td></tr><tr><td align="left"><a title="WP7 Dev 101 【1】 Windows Phone 7 Emulator常用快捷键" href="http://www.gwewe.com//dev/topics/1101151808.html" target="_blank">WP7 Dev 101 【1】 Windows Phone 7 Emulator常用快捷键</a></td></tr><tr><td align="left"><a title="WP7 Dev 101 【0】 开发环境的准备" href="http://www.gwewe.com/dev/de/1010133069.html" target="_blank">WP7 Dev 101 【0】 开发环境的准备</a></td></tr></tbody></table>
<table border="1" cellspacing="0" cellpadding="3" width="100%" style="margin-top:5px; border-collapse:collapse"><tbody><tr><td bgcolor="#f4f4f4" align="left">标题:《入门WP7》专题系列<a name="a20"/><br/>作者:lulu (<a href="http://www.cnblogs.com/dennlu/" target="_blank">博客</a>)</td></tr><tr><td align="left"><a title="【入门WP7 - 1.搭建Windows Phone 7开发环境】" href="http://www.gwewe.com/dev/de/1011025024.html">【入门WP7 - 1.搭建Windows Phone 7开发环境】</a></td></tr><tr><td align="left"><a title="【入门WP7 - 2.Windows Phone 7的开发人员训练包之Hello Windows Phone】" href="http://www.gwewe.com/dev/topics/1011035147.html">【入门WP7 - 2.Windows Phone 7的开发人员训练包之Hello Windows Phone】</a></td></tr></tbody></table>
| 1、开发环境相关 |
|-----|
| [](http://www.gwewe.com/dev/featured/1011298575.html "Windows Phone 7 XNA4 游戏开发全面速查资料 ")[微软公布Windows Phone 7最低硬件要求](http://www.gwewe.com/dev/download/1007201171.html "微软公布Windows Phone 7最低硬件要求") |
| [Windows XP安装Windows Phone 7](http://www.gwewe.com/dev/de/1012089765.html "Windows XP安装Windows Phone 7") |
| [在Windows XP上安装 WP 开发工具](http://www.gwewe.com/dev/de/1010193882.html "在Windows XP上安装 WP 开发工具") |
| [Windows 2003,XP安装Windows Phone 7](http://www.gwewe.com/dev/de/1010163675.html "Windows 2003,XP安装Windows Phone 7") |
| [Windows Phone 7 开发环境的搭建](http://www.gwewe.com/dev/de/1011055332.html "Windows Phone 7 开发环境的搭建") |
| [关于中国程序员注册Marketplace 的几点说明](http://www.gwewe.com/dev/featured/1011298374.html "关于中国程序员注册Marketplace 的几点说明 ") |
| [WindowsPhone7真机部署和调试程序](http://www.gwewe.com/dev/de/1011278219.html "WindowsPhone7真机部署和调试程序 ") |
| [](http://www.gwewe.com/dev/featured/1011298571.html "关于WP7开发,随笔 ")[Windows Phone 7开发环境初体验](http://www.gwewe.com/dev/featured/1011237748.html "Windows Phone 7开发环境初体验") |
| [搭建 windows phone 7 开发平台](http://www.gwewe.com/dev/de/1011237719.html "搭建 windows phone 7 开发平台") |
| [搭建基于VB.net的WP7开发环境(vs2010)](http://www.gwewe.com/dev/de/1011237717.html "搭建基于VB.net的WP7开发环境(vs2010) ") |
| [WP7手机PC同步与应用商店软件安装图文+中文输入详解](http://www.gwewe.com/dev/de/1011237592.html "WP7手机PC同步与应用商店软件安装图文+中文输入详解") |
| [微软 wp7安装文件将由cab更换至xap](http://www.gwewe.com/dev/de/1011095960.html "微软 wp7安装文件将由cab更换至xap") |
| [如何安装Windows phone 7 sdk](http://www.gwewe.com/dev/de/1011024935.html "如何安装Windows phone 7 sdk") |
| [开启Windows Phone 7的钥匙:Windows Live ID](http://www.gwewe.com/dev/de/1011024933.html "开启Windows Phone 7的钥匙:Windows Live ID") |
| [开启Windows Phone 7的钥匙:Windows Live ID](http://www.gwewe.com/dev/de/1011014891.html "开启Windows Phone 7的钥匙:Windows Live ID") |
| [Live ID必须有 不然WP7部分功能将受限(组图)](http://www.gwewe.com/dev/de/1011024903.html "Live ID必须有 不然WP7部分功能将受限(组图)") |
| [如何知道程序当前运行在模拟器上还是真实设备上?](http://www.gwewe.com/dev/featured/1010234323.html "如何知道程序当前运行在模拟器上还是真实设备上?") |
| [Windows Phone 7的应用程序认证要求](http://www.gwewe.com/dev/de/1010203922.html "Windows Phone 7的应用程序认证要求") |
| [Windows Phone 7完整的ROM放出](http://www.gwewe.com/dev/de/1010193876.html "Windows Phone 7完整的ROM放出") |
| [助力Windows Phone 7,微软推出APP HUB](http://www.gwewe.com/dev/de/1010122983.html "助力Windows Phone 7,微软推出APP HUB") |
| [Windows Phone 7完整的ROM](http://www.gwewe.com/dev/download/1010072287.html "Windows Phone 7完整的ROM") |
| [Windows Phone 7 Marketplace 一瞥](http://www.gwewe.com/dev/de/1010062211.html "Windows Phone 7 Marketplace 一瞥") |
| [Windows Phone 7的Marketplace将会支持通过运营商收费](http://www.gwewe.com/dev/de/1010062207.html "Windows Phone 7的Marketplace将会支持通过运营商收费") |
| [从iPhone开发转战Windows Phone 7思维导图](http://www.gwewe.com/dev/de/1010062203.html "从iPhone开发转战Windows Phone 7思维导图") |
| [[Windows Phone 7] WP7 開發工具RTM版釋出](http://www.gwewe.com/dev/de/1010052194.html "[Windows Phone 7] WP7 開發工具RTM版釋出") |
| [微软将允许程序开发者率先进入Windows Phone 7 Marketplace](http://www.gwewe.com/dev/de/1010052189.html "微软将允许程序开发者率先进入Windows Phone 7 Marketplace") |
| [Windows Phone 开发支持VB和F#了](http://www.gwewe.com/dev/de/1009281893.html "Windows Phone 开发支持VB和F#了") |
| [Windows Phone 7 Marketplace应用程序升级过程](http://www.gwewe.com/dev/de/1009271618.html "Windows Phone 7 Marketplace应用程序升级过程") |
| [[翻译]Programming Windows Phone 7 Series简介以及开发环境搭建](http://www.gwewe.com/dev/de/1009251365.html "[翻译]Programming Windows Phone 7 Series简介以及开发环境搭建") |
| [通过模拟器看Windows Phone 7](http://www.gwewe.com/dev/featured/1009251384.html "通过模拟器看Windows Phone 7") |
| [使用Visual Basic开发Windows Phone 7应用程序](http://www.gwewe.com/dev/de/1009241208.html "使用Visual Basic开发Windows Phone 7应用程序") |
| [能用 Visual Basic 开发 Windows Phone 7 程序了](http://www.gwewe.com/dev/de/1009241166.html "能用 Visual Basic 开发 Windows Phone 7 程序了") |
| [Windows Phone开发工具初体验](http://www.gwewe.com/dev/featured/1009220965.html "[马宁]Windows Phone开发工具初体验") |
| [Windows Phone开发工具初体验](http://www.gwewe.com/dev/de/1009080157.html "Windows Phone开发工具初体验") |
| [Windows Phone 7 Developer Tools & Training Kit 正式版发布!](http://www.gwewe.com/dev/de/1009170834.html "Windows Phone 7 Developer Tools & Training Kit 正式版发布!") |
| [Brooks]Windows Server 2008 R2 上安装 Windows Phone 7 Developer Tools解决方法](http://www.gwewe.com/dev/de/1009140732.html "[MYM]Brooks]Windows Server 2008 R2 上安装 Windows Phone 7 Developer Tools解决方法") |
| [体验新一代Windows CE: Windows Embedded Compact 7](http://www.gwewe.com/dev/de/1006251397.html "体验新一代Windows CE: Windows Embedded Compact 7 ") |
| [WP7开发文档曝光](http://www.gwewe.com/dev/de/1005170280.html "WP7开发文档曝光") |
| [注册Windows Phone Marketplace经验](http://www.gwewe.com/dev/de/1012130295.html "注册Windows Phone Marketplace经验 ") |
| [Visual Basic for Windows Phone 7 开发工具已正式 RTW](http://www.gwewe.com/dev/de/1011308631.html "Visual Basic for Windows Phone 7 开发工具已正式 RTW") |
| [例程详解WP7开发环境菜单选项](http://www.gwewe.com/dev/featured/1010082467.html "例程详解WP7开发环境菜单选项") |
| [Windows Phone 7 开发工具介绍](http://www.gwewe.com/dev/de/1004010345.html "Windows Phone 7 开发工具介绍") |
| 2、Hello, Windows Phone 7 |
|-----|
| [Hello, Windows Phone 7](http://www.gwewe.com/dev/featured/1009140654.html "Hello, Windows Phone 7") |
| [Windows Phone 7第一次亲密接触](http://www.gwewe.com/dev/featured/1009140659.html "Windows Phone 7第一次亲密接触") |
| [Windows Phone 7 菜鸟路——入门](http://www.gwewe.com/dev/featured/1012150852.html "Windows Phone 7 菜鸟路——入门") |
| [第一个WP7工程:Hello WP7](http://www.gwewe.com/dev/featured/1011055328.html "第一个WP7工程:Hello WP7") |
| [我的第一个Windows Phone 7应用程序](http://www.gwewe.com/dev/featured/1011095756.html "我的第一个Windows Phone 7应用程序") |
| [90秒内完成一个Windows Phone 7应用程序](http://www.gwewe.com/dev/featured/1009231081.html "90秒内完成一个Windows Phone 7应用程序") |
| [Windows Phone 7 的今生](http://www.gwewe.com/dev/featured/1012049352.html "Windows Phone 7 的今生 ") |
| [WP7(Windows Phone 7)概览](http://www.gwewe.com/dev/featured/1009140623.html "[Jesse Zhang]WP7(Windows Phone 7)概览") |
| [从0开始做Windows Phone 7开发](http://www.gwewe.com/dev/de/1009100321.html "从0开始做Windows Phone 7开发") |
| [调试第一个 Windows Phone 7 APP 遭遇蓝屏](http://www.gwewe.com/dev/featured/1011237721.html "调试第一个 Windows Phone 7 APP 遭遇蓝屏") |
| [WP7开发资源整合站上线,学习和开发的最佳实践利器](http://www.gwewe.com/dev/featured/1011166801.html "WP7开发资源整合站上线,学习和开发的最佳实践利器") |
| [关于WP7中的90M内存限制问题及设计原则](http://www.gwewe.com/dev/featured/1011095958.html "关于WP7中的90M内存限制问题及设计原则") |
| [如何在WP7中实时监控内存使用量](http://www.gwewe.com/dev/featured/1011095953.html "如何在WP7中实时监控内存使用量") |
| [在你的Windows Phone 7程序中加入试用版的判断](http://www.gwewe.com/dev/featured/1009231071.html "在你的Windows Phone 7程序中加入试用版的判断") |
| [Windows Phone 7详细开发过程](http://www.gwewe.com/dev/de/1009220994.html "Windows Phone 7详细开发过程") |
| [简单教程:在 PC 上体验 Windows Phone 7](http://www.gwewe.com/dev/featured/1009220955.html "简单教程:在 PC 上体验 Windows Phone 7") |
| [Windows Phone 7 快速上手指南](http://www.gwewe.com/dev/de/1009200906.html "Windows Phone 7 快速上手指南") |
| [Windows Phone7:调动.Net开发者积极性](http://www.gwewe.com/dev/featured/1009110336.html "Windows Phone7:调动.Net开发者积极性") |
| [Windows Phone 7 开发经验总结](http://www.gwewe.com/dev/featured/1009080161.html "Windows Phone 7 开发经验总结") |
| [.NET程序员解读WP7:API直观上手很简单](http://www.gwewe.com/dev/featured/1009060004.html ".NET程序员解读WP7:API直观上手很简单") |
| [微软公布Windows Phone 7 开发路线图](http://www.gwewe.com/dev/de/1008240075.html "微软公布Windows Phone 7 开发路线图") |
| [深度解析Windows Phone 7 开发](http://www.gwewe.com/dev/de/1004010371.html "深度解析Windows Phone 7 开发") |
| [双重惊喜:Windows Phone 开发者工具初体验](http://www.gwewe.com/dev/de/1004010361.html "双重惊喜:Windows Phone 开发者工具初体验") |
| [你必须知道的Windows Phone 7开发](http://www.gwewe.com/dev/de/1004010354.html "你必须知道的Windows Phone 7开发") |
| [微软疯了么?聊聊Windows Phone 7的开发方式](http://www.gwewe.com/dev/de/1003161307.html "微软疯了么?聊聊Windows Phone 7的开发方式 ") |
| [关于WP7开发,随笔](http://www.gwewe.com/dev/featured/1011298571.html "关于WP7开发,随笔 ") |
| 3、书籍资源视频相关 |
|-----|
| [两本全彩Windows Phone 7书籍提供下载](http://www.gwewe.com/dev/download/1012110069.html "两本全彩Windows Phone 7书籍提供下载 ") |
| [Windows Phone 7 开发书籍分享](http://www.gwewe.com/dev/download/1012099935.html "Windows Phone 7 开发书籍分享") |
| [“Windows Phone 7 Game Development”一书可提供下载](http://www.gwewe.com/dev/download/1012221299.html "“Windows Phone 7 Game Development”一书可提供下载") |
| [Windows Phone 7 中文开发资料概览](http://www.gwewe.com/dev/download/1012211224.html "Windows Phone 7 中文开发资料概览 ") |
| [Windows Phone 7 Programming In C#](http://www.gwewe.com/dev/download/1012201174.html "Windows Phone 7 Programming In C# ") |
| [Windows Phone 7 开发技术视频教程概览](http://www.gwewe.com/dev/download/1012181071.html "Windows Phone 7 开发技术视频教程概览 ") |
| [《Silverlight for Windows Phone开发》系列视频](http://www.gwewe.com/dev/download/1012069531.html "《Silverlight for Windows Phone开发》系列视频 ") |
| [微软提供免费Windows 7及WP7等电子书](http://www.gwewe.com/dev/download/1012039095.html "微软提供免费Windows 7及WP7等电子书") |
| [WP7开发资源大收集](http://www.gwewe.com/dev/download/1012038968.html "WP7开发资源大收集 ") |
| [Microsoft Press ebook: Programming Windows Phone 7](http://www.gwewe.com/dev/download/1011166813.html "Microsoft Press ebook: Programming Windows Phone 7") |
| [Windows Phone 7 资源汇总(超全)](http://www.gwewe.com/dev/topics/1011116235.html "Windows Phone 7 资源汇总(超全)") |
| [Windows Phone 7程序设计”完全版电子书可以免费下载了](http://www.gwewe.com/dev/download/1010294736.html "Windows Phone 7程序设计”完全版电子书可以免费下载了") |
| [Windows Phone 7常用资源大集合](http://www.gwewe.com/dev/featured/1010203884.html "Windows Phone 7常用资源大集合") |
| [Windows Phone 7 Developer Tools 更新指南](http://www.gwewe.com/dev/de/1010173699.html "Windows Phone 7 Developer Tools 更新指南") |
| [《基于Windows 7特性的程序开发系列》视频分享](http://www.gwewe.com/dev/topics/1010143308.html "《基于Windows 7特性的程序开发系列》视频分享") |
| [Windows Phone设计资源](http://www.gwewe.com/dev/download/1009251369.html "Windows Phone设计资源") |
| [Windows Phone Design Day 课程视频下载](http://www.gwewe.com/dev/download/1009231068.html "Windows Phone Design Day 课程视频下载") |
| [《Windows Phone 7应用开发技术视频教程》(Lynda.com Windows Phone 7 App Development First Look)[光盘镜像]](http://www.gwewe.com/dev/download/1009220997.html "《Windows Phone 7应用开发技术视频教程》(Lynda.com Windows Phone 7 App Development First Look)[光盘镜像]") |
| [Windows Phone 7 Jump Start Training视频教程](http://www.gwewe.com/dev/download/1009220962.html "Windows Phone 7 Jump Start Training视频教程") |
| [windows phone相关网站](http://www.gwewe.com/dev/de/1009200927.html "windows phone相关网站") |
| [Windows Phone 7 开发资源汇总](http://www.gwewe.com/dev/download/1009200925.html "Windows Phone 7 开发资源汇总") |
| [Windows Phone 7 开发 视频资料](http://www.gwewe.com/dev/download/1009140644.html "Windows Phone 7 开发 视频资料") |
| [Windows Phone 7 系列应用和游戏开发内容汇总](http://www.gwewe.com/dev/de/1007287729.html "Windows Phone 7 系列应用和游戏开发内容汇总") |
| [升级Windows Phone Developer Tools Beta](http://www.gwewe.com/dev/de/1007251380.html "升级Windows Phone Developer Tools Beta ") |
| [Windows Phone 7书托](http://www.gwewe.com/dev/download/1007251374.html "Windows Phone 7书托 ") |
| [WINDOWS PHONE 7开发书籍再度更新](http://www.gwewe.com/dev/download/1009140628.html "WINDOWS PHONE 7开发书籍再度更新") |
| [MSDN webcast《Silverlight for Windows Phone开发》系列视频第二季](http://www.gwewe.com/dev/topics/1101111742.html "MSDN webcast《Silverlight for Windows Phone开发》系列视频第二季 ") |
| 4、XNA/Xbox Live游戏开发相关 |
|-----|
| [什么是XNA?](http://www.gwewe.com/dev/topics/1011025013.html "什么是XNA?") |
| [windows phone xna游戏视频展示 及 xna开发书籍下载](http://www.gwewe.com/dev/featured/1101141807.html "windows phone xna游戏视频展示 及 xna开发书籍下载 ") |
| [windows phone xna 游戏页面跳转及中文显示](http://www.gwewe.com/dev/featured/1101131788.html "windows phone xna 游戏页面跳转及中文显示 ") |
| [XNA游戏魅力何在?专家现场给你展示](http://www.gwewe.com/dev/de/1012039341.html "XNA游戏魅力何在?专家现场给你展示") |
| [WP7 silverlight XNA 混合编程](http://www.gwewe.com/dev/featured/1011298577.html "WP7 silverlight XNA 混合编程 ") |
| [Windows Phone 7 XNA4 游戏开发全面速查资料](http://www.gwewe.com/dev/featured/1011298575.html "Windows Phone 7 XNA4 游戏开发全面速查资料 ") |
| [XNA项目运行错误:No suitable graphics card found.](http://www.gwewe.com/dev/featured/1011298404.html "XNA项目运行错误:No suitable graphics card found. ") |
| [XNA:保存数据到文件和从文件读取数据](http://www.gwewe.com/dev/featured/1011298400.html "XNA:保存数据到文件和从文件读取数据 ") |
| [Windows Phone XNA api学习笔记](http://www.gwewe.com/dev/featured/1011045311.html "Windows Phone XNA api学习笔记") |
| [使用 Balder 开源引擎进行WP7 3D程序的开发](http://www.gwewe.com/dev/featured/1010264534.html "使用 Balder 开源引擎进行WP7 3D程序的开发") |
| [XNA显示中文字体](http://www.gwewe.com/dev/featured/1009231138.html "[马宁]XNA显示中文字体") |
| [XNA下使用MessageBox和软键盘](http://www.gwewe.com/dev/featured/1009220985.html "[马宁]XNA下使用MessageBox和软键盘") |
| [Windows Phone XNA 4.0 3D游戏开发](http://www.gwewe.com/dev/featured/1009220981.html "[马宁]Windows Phone XNA 4.0 3D游戏开发") |
| [XNA 4.0 正式版升级笔记](http://www.gwewe.com/dev/featured/1009183765.html "XNA 4.0 正式版升级笔记") |
| [Windows Phone XNA 4.0 3D游戏开发](http://www.gwewe.com/dev/featured/1009080153.html "Windows Phone XNA 4.0 3D游戏开发") |
| [WP7 Xbox Live 游戏上手体验](http://www.gwewe.com/dev/featured/1008190061.html "WP7 Xbox Live 游戏上手体验") |
| [Xbox Gaming on Windows Phone 7介绍](http://www.gwewe.com/dev/de/1006251393.html "Xbox Gaming on Windows Phone 7介绍") |
| 5、控件相关 |
|-----|
| [好玩的WP7控件开发系列之一:Item背景颜色交替变化的ListBox](http://www.gwewe.com/dev/featured/1101141806.html "好玩的WP7控件开发系列之一:Item背景颜色交替变化的ListBox") |
| [关于WP7的ApplicationBarIconButton的一点研究](http://www.gwewe.com/dev/featured/1101141804.html "关于WP7的ApplicationBarIconButton的一点研究") |
| [关于在WP7中通过代码改变Button背景色的问题的分析与解决方案](http://www.gwewe.com/dev/featured/1101091693.html "关于在WP7中通过代码改变Button背景色的问题的分析与解决方案") |
| [Windows Phone 7 Button修改前景色和背景色的问题和解决办法](http://www.gwewe.com/dev/featured/1101061642.html "Windows Phone 7 Button修改前景色和背景色的问题和解决办法 ") |
| [How-to: 创建Windows Phone 7自定义控件](http://www.gwewe.com/dev/featured/1101061641.html "How-to: 创建Windows Phone 7自定义控件") |
| [Windows Phone 7 .toolbox设计教程](http://www.gwewe.com/dev/featured/1012201162.html "Windows Phone 7 .toolbox设计教程 ") |
| [Windows Phone 7 第3方控件集概览](http://www.gwewe.com/dev/featured/1012089782.html "Windows Phone 7 第3方控件集概览") |
| [Windows Phone 7的Pivot(枢轴视图)控件简介](http://www.gwewe.com/dev/featured/1011258087.html "Windows Phone 7的Pivot(枢轴视图)控件简介 ") |
| [C#(DotNET CF 2.0) 模拟WP7的拖拉控件方式](http://www.gwewe.com/dev/featured/1011237713.html "C#(DotNET CF 2.0) 模拟WP7的拖拉控件方式 ") |
| [Windows Phone7开发之:全景视图](http://www.gwewe.com/dev/featured/1011298351.html "Windows Phone7开发之:全景视图") |
| [Windows Phone 7的Panorama(全景视图)控件简介](http://www.gwewe.com/dev/featured/1011237700.html "Windows Phone 7的Panorama(全景视图)控件简介 ") |
| [WP7开发系列之:WebBrowser控件](http://www.gwewe.com/dev/featured/1011217464.html "WP7开发系列之:WebBrowser控件") |
| [Windows Phone 7 下ListBox中嵌入Button](http://www.gwewe.com/dev/featured/1011085526.html "Windows Phone 7 下ListBox中嵌入Button") |
| [Windows Phone 7下ListBox的使用](http://www.gwewe.com/dev/featured/1011055325.html "Windows Phone 7下ListBox的使用 ") |
| [Daisy.wp7.Controls自定义的控件库](http://www.gwewe.com/dev/featured/1011025038.html "Daisy.wp7.Controls自定义的控件库") |
| [](http://www.gwewe.com/dev/featured/1010264534.html "使用 Balder 开源引擎进行WP7 3D程序的开发")[windows phone 7 上几种实现Timer效果的方法](http://www.gwewe.com/dev/featured/1010264531.html "windows phone 7 上几种实现Timer效果的方法") |
| [Windows Phone 7的Launchers&Choosers简介及其行为浅析](http://www.gwewe.com/dev/featured/1010173695.html "Windows Phone 7的Launchers&Choosers简介及其行为浅析") |
| [Windows Phone 7 控件设计与开发入门](http://www.gwewe.com/dev/featured/1010082496.html "Windows Phone 7 控件设计与开发入门") |
| [CameraCaptureTask的用法](http://www.gwewe.com/dev/featured/1009251438.html "CameraCaptureTask的用法") |
| [[翻译]Windows Phone 7 Application Controls](http://www.gwewe.com/dev/featured/1009251344.html "[翻译]Windows Phone 7 Application Controls") |
| [Windows Phone Developer Tools RTW 新特性-Panorama控件](http://www.gwewe.com/dev/featured/1009231120.html "[施炯]Windows Phone Developer Tools RTW 新特性-Panorama控件") |
| [Windows Phone Developer Tools RTW 新特性-Pivot控件](http://www.gwewe.com/dev/featured/1009231113.html "[施炯]Windows Phone Developer Tools RTW 新特性-Pivot控件") |
| 6、Silverlight for Windows Phone 7 系列 |
|-----|
| [Windows Phone 7 Silverlight程序中声音播放实现](http://www.gwewe.com/dev/featured/1012231334.html "Windows Phone 7 Silverlight程序中声音播放实现 ") |
| [将SL4 程序移植到WP7(附Teched2010真机图)](http://www.gwewe.com/dev/featured/1012039318.html "将SL4 程序移植到WP7(附Teched2010真机图) ") |
| [Silverlight for Windows Phone Toolkit升级 新增四个控件](http://www.gwewe.com/dev/de/1011045243.html "Silverlight for Windows Phone Toolkit升级 新增四个控件") |
| [Silverlight for Windows Phone Toolkit 更新](http://www.gwewe.com/dev/de/1011035136.html "Silverlight for Windows Phone Toolkit 更新") |
| [Silverlight &Windows phone7 中使用Isolated Storage存储与读取图片](http://www.gwewe.com/dev/featured/1010254385.html "Silverlight &Windows phone7 中使用Isolated Storage存储与读取图片") |
| [Windows phone 7 里silverlight的点与像素 (Points and Pixels in silverlight)](http://www.gwewe.com/dev/featured/1009251444.html "Windows phone 7 里silverlight的点与像素 (Points and Pixels in silverlight)") |
| [[视频]Silverlight for Windows Phone 7基本开发过程以及Push Button控件的使用](http://www.gwewe.com/dev/featured/1007251423.html "[视频]Silverlight for Windows Phone 7基本开发过程以及Push Button控件的使用 ") |
| 7、存储数据库系列 |
|-----|
| [浅谈Windows Phone 7本地数据库的选择](http://www.gwewe.com/dev/featured/1009281889.html "浅谈Windows Phone 7本地数据库的选择") |
| [关于Windows Phone数据库和Silverlight本地文件操作](http://www.gwewe.com/dev/featured/1009231129.html "[Jake Lin]关于Windows Phone数据库和Silverlight本地文件操作") |
| [Windows Phone 7 Storage](http://www.gwewe.com/dev/featured/1011298397.html "Windows Phone 7 Storage ") |
| [Windos phone7的Isolated storage使用示例](http://www.gwewe.com/dev/featured/1010234318.html "Windos phone7的Isolated storage使用示例") |
| [Windows Phone 7 XML IsolatedStorage Example](http://www.gwewe.com/dev/featured/1009181427.html "Windows Phone 7 XML IsolatedStorage Example ") |
| [Windows Phone 7程序独立存储空间容量测试](http://www.gwewe.com/dev/featured/1011237723.html "Windows Phone 7程序独立存储空间容量测试") |
| [DB4O在Windows phone 7和Silverlight中运用补充](http://www.gwewe.com/dev/featured/1010224285.html "DB4O在Windows phone 7和Silverlight中运用补充") |
| [SQLite on Windows Phone 7](http://www.gwewe.com/dev/featured/1009251264.html "SQLite on Windows Phone 7") |
| [SQLite on Windows Phone 7](http://www.gwewe.com/dev/featured/1009140730.html "[MYM]Brooks]SQLite on Windows Phone 7") |
| 8、其它 |
|-----|
| [“花钱”购买App Hub Membership终于成功了](http://www.gwewe.com/dev/featured/1101111743.html "“花钱”购买App Hub Membership终于成功了") |
| [作为一个WP7上的Silverlight程序员表示鸭梨很大](http://www.gwewe.com/dev/featured/1101111741.html "作为一个WP7上的Silverlight程序员表示鸭梨很大") |
| [Windows Phone 7 开发之:工具栏](http://www.gwewe.com/dev/topics/1101041576.html "Windows Phone 7 开发之:工具栏") |
| [Windows Phone设备大比拼](http://www.gwewe.com/dev/featured/1101051634.html "Windows Phone设备大比拼 ") |
| [Window Phone 7 设备的方向](http://www.gwewe.com/dev/featured/1101041593.html "Window Phone 7 设备的方向 ") |
| [Windwos Phone 7 获取设备相关信息](http://www.gwewe.com/dev/featured/1011298393.html "Windwos Phone 7 获取设备相关信息 ") |
| [Windows Phone 7 漂流记](http://www.gwewe.com/dev/featured/1101071670.html "Windows Phone 7 漂流记 ") |
| [CES2011: Windows Phone 7 一月更新官方页面现身,新特性预览](http://www.gwewe.com/dev/featured/1101071669.html "CES2011: Windows Phone 7 一月更新官方页面现身,新特性预览") |
| [CES2010:Windows Phone 7 代号为“No Donut” 更新细节提前曝光](http://www.gwewe.com/dev/de/1101071668.html "CES2010:Windows Phone 7 代号为“No Donut” 更新细节提前曝光") |
| [WP7模拟器Orientation失效的原因](http://www.gwewe.com/dev/featured/1101091694.html "WP7模拟器Orientation失效的原因") |
| [30个最酷的Windows Phone 7教程](http://www.gwewe.com/dev/featured/1101081684.html "30个最酷的Windows Phone 7教程") |
| [How-to:利用MultiTouchVista模拟Windows Phone 7的多点触摸](http://www.gwewe.com/dev/featured/1012211230.html "How-to:利用MultiTouchVista模拟Windows Phone 7的多点触摸") |
| [经典Windows Phone 7开源程序介绍——基于定位的社交应用Foursquare](http://www.gwewe.com/dev/featured/1012201147.html "经典Windows Phone 7开源程序介绍——基于定位的社交应用Foursquare ") |
| [Windows Phone 7框架、控件和开源项目第二季](http://www.gwewe.com/dev/featured/1012201137.html "Windows Phone 7框架、控件和开源项目第二季 ") |
| [Windows Phone 7框架、控件和开源项目第一季](http://www.gwewe.com/dev/featured/1012150833.html "Windows Phone 7框架、控件和开源项目第一季 ") |
| [Windows Phone 7 系统信息获取示例](http://www.gwewe.com/dev/featured/1012160969.html "Windows Phone 7 系统信息获取示例 ") |
| [Windows Phone 7 优秀开源项目概览](http://www.gwewe.com/dev/featured/1012150869.html "Windows Phone 7 优秀开源项目概览") |
| [[WP7经验分享连载]一: 解锁你的手机 解除应用部署数目上限](http://www.gwewe.com/dev/featured/1012150854.html "[WP7经验分享连载]一: 解锁你的手机 解除应用部署数目上限") |
| [[图]Windows Phone 7页面区域大小示意](http://www.gwewe.com/dev/featured/1012150799.html "[图]Windows Phone 7页面区域大小示意") |
| [Windows Phone 7 开发向导 V2.0提供下载](http://www.gwewe.com/dev/download/1012150789.html "Windows Phone 7 开发向导 V2.0提供下载 ") |
| [参加PDC10 拿了台Windows Phone 7手机](http://www.gwewe.com/dev/featured/1012140551.html "参加PDC10 拿了台Windows Phone 7手机") |
| [WP7上Metro风格的程序栏图标汇总](http://www.gwewe.com/dev/featured/1012130324.html "WP7上Metro风格的程序栏图标汇总 ") |
| [Windows Phone 7 模式与实践指南](http://www.gwewe.com/dev/featured/1012120159.html "Windows Phone 7 模式与实践指南 ") |
| [微软简化Marketplace注册程序 吸引更多开发人员注册](http://www.gwewe.com/dev/de/1012120169.html "微软简化Marketplace注册程序 吸引更多开发人员注册") |
| [Windows Phone 7 智能手机应用程式开发总览](http://www.gwewe.com/dev/de/1012110122.html "Windows Phone 7 智能手机应用程式开发总览") |
| [Windows phone 7更新已经支持复制/粘贴[有图有真相]](http://www.gwewe.com/dev/de/1012089775.html "Windows phone 7更新已经支持复制/粘贴[有图有真相]") |
| [Windows phone 7应用之代码性能分析工具——Profile.](http://www.gwewe.com/dev/featured/1012079684.html "Windows phone 7应用之代码性能分析工具——Profile.") |
| [Windows Phone 浏览器](http://www.gwewe.com/dev/featured/1012059499.html "Windows Phone 浏览器") |
| [今天光棍节,有新发现](http://www.gwewe.com/dev/featured/1011298567.html "今天光棍节,有新发现 ") |
| [为什么要抛弃content](http://www.gwewe.com/dev/featured/1011298563.html "为什么要抛弃content ") |
| [关于content管道,让我们继续](http://www.gwewe.com/dev/featured/1011298554.html "关于content管道,让我们继续 ") |
| [微软,还我Input.Touch模块](http://www.gwewe.com/dev/featured/1011298544.html "微软,还我Input.Touch模块 ") |
| [精灵编辑器,进行中](http://www.gwewe.com/dev/featured/1011298527.html "精灵编辑器,进行中 ") |
| [开始做一些2D工具](http://www.gwewe.com/dev/featured/1011298525.html "开始做一些2D工具 ") |
| [幻影刺客跑起来啦](http://www.gwewe.com/dev/featured/1011298515.html "幻影刺客跑起来啦 ") |
| [能看出点幻影刺客的风采](http://www.gwewe.com/dev/featured/1011298509.html "能看出点幻影刺客的风采 ") |
| [WAR3的模型,幻影刺客,我来了。](http://www.gwewe.com/dev/featured/1011298506.html "WAR3的模型,幻影刺客,我来了。 ") |
| [XNA 贴图载入的新状况](http://www.gwewe.com/dev/featured/1011298503.html "XNA 贴图载入的新状况") |
| [好吧,效果先到这里吧](http://www.gwewe.com/dev/featured/1011298497.html "好吧,效果先到这里吧 ") |
| [关于XNA4的资源问题](http://www.gwewe.com/dev/featured/1011298495.html "关于XNA4的资源问题 ") |
| [优质的描边,完全Shader驱动的3D引擎的第一步](http://www.gwewe.com/dev/featured/1011298491.html "优质的描边,完全Shader驱动的3D引擎的第一步 ") |
| [XNA4 Content 不能承受之痛](http://www.gwewe.com/dev/featured/1011298485.html "XNA4 Content 不能承受之痛 ") |
| [windows phone 7 游戏编程之旅 序章](http://www.gwewe.com/dev/featured/1011298480.html "windows phone 7 游戏编程之旅 序章 ") |
| [1.0版本字体输出,完成度80%,具备可用性](http://www.gwewe.com/dev/featured/1011298473.html "1.0版本字体输出,完成度80%,具备可用性 ") |
| [填充完成,开始字体排版和管理](http://www.gwewe.com/dev/featured/1011298470.html "填充完成,开始字体排版和管理 ") |
| [Shawn,别让我们失望](http://www.gwewe.com/dev/featured/1011298468.html "Shawn,别让我们失望 ") |
| [字体 60分万岁日](http://www.gwewe.com/dev/featured/1011298461.html "字体 60分万岁日 ") |
| [FTT字体绘制,2D阶段](http://www.gwewe.com/dev/featured/1011298456.html "FTT字体绘制,2D阶段 ") |
| [微软雅黑,还有点儿距离](http://www.gwewe.com/dev/featured/1011298453.html "微软雅黑,还有点儿距离 ") |
| [直读TTF的进展(轮廓信息完成,进入2D阶段,50%)](http://www.gwewe.com/dev/featured/1011298441.html "直读TTF的进展(轮廓信息完成,进入2D阶段,50%) ") |
| [Windwos Phone 7 Accelerometer](http://www.gwewe.com/dev/featured/1011298387.html "Windwos Phone 7 Accelerometer ") |
| [Windows Phone 7 UI对屏幕的自适应的处理](http://www.gwewe.com/dev/featured/1011298384.html "Windows Phone 7 UI对屏幕的自适应的处理 ") |
| [Windows Phone 7 如何导航页面和页面间传值](http://www.gwewe.com/dev/featured/1011298381.html "Windows Phone 7 如何导航页面和页面间传值 ") |
| [PC同步/输入及应用 WP7首发教程](http://www.gwewe.com/dev/featured/1011298329.html "PC同步/输入及应用 WP7首发教程") |
| [How-to: 利用Web Camera模拟Windows Phone 7的重力加速度传感器](http://www.gwewe.com/dev/featured/1011288280.html "How-to: 利用Web Camera模拟Windows Phone 7的重力加速度传感器") |
| [连接Windows Phone以后不能调试Windows Mobile程序的问题](http://www.gwewe.com/dev/featured/1011258093.html "连接Windows Phone以后不能调试Windows Mobile程序的问题 ") |
| [Windows Phone 7风格的开机动画及锁屏界面](http://www.gwewe.com/dev/featured/1011237725.html "Windows Phone 7风格的开机动画及锁屏界面") |
| [通过Flick手势来旋转3D模型的windows phone应用](http://www.gwewe.com/dev/featured/1011237698.html "通过Flick手势来旋转3D模型的windows phone应用 ") |
| [Windows Phone7中的IronRuby](http://www.gwewe.com/dev/featured/1011207445.html "Windows Phone7中的IronRuby ") |
| [WP7驾驭VLC多媒体播放器的神器](http://www.gwewe.com/dev/featured/1011207441.html "WP7驾驭VLC多媒体播放器的神器 ") |
| [微软就WP7应用泄露作出说明,要求开发人员进行代码混淆](http://www.gwewe.com/dev/de/1011156762.html "微软就WP7应用泄露作出说明,要求开发人员进行代码混淆") |
| [Windows phone 手势,鼠标-学习笔记](http://www.gwewe.com/dev/featured/1011136715.html "Windows phone 手势,鼠标-学习笔记 ") |
| [WP7中如何用编程的方法退出程序?](http://www.gwewe.com/dev/featured/1011136695.html "WP7中如何用编程的方法退出程序? ") |
| [网页版WP7软件商店现身,数千款软件一览无遗](http://www.gwewe.com/dev/de/1011116642.html "网页版WP7软件商店现身,数千款软件一览无遗") |
| [WP7模拟器截图工具出现 实用仍需等待](http://www.gwewe.com/dev/de/1011106196.html "WP7模拟器截图工具出现 实用仍需等待") |
| [(翻译)31天Windows Phone学习-1-项目模板](http://www.gwewe.com/dev/topics/1011106183.html "(翻译)31天Windows Phone学习-1-项目模板") |
| [Windows Phone 7 下的天气预报](http://www.gwewe.com/dev/featured/1011095792.html "Windows Phone 7 下的天气预报") |
| [如何Enable/Disable Application Bar](http://www.gwewe.com/dev/featured/1010284669.html "如何Enable/Disable Application Bar") |
| [基于.NET/C#开发跨平台WP7、iPhone及Android应用程序](http://www.gwewe.com/dev/de/1010284667.html "基于.NET/C#开发跨平台WP7、iPhone及Android应用程序") |
| [微软开放Windows Phone 7中文开发中心](http://www.gwewe.com/dev/de/1010284661.html "微软开放Windows Phone 7中文开发中心") |
| [Windows Phone 中文开发中心上线](http://www.gwewe.com/dev/de/1010284646.html "Windows Phone 中文开发中心上线") |
| [Windows Phone 7升级功能详解](http://www.gwewe.com/dev/de/1010284626.html "Windows Phone 7升级功能详解") |
| [WP7开发工具发布10月更新包,改良Bing Map性能](http://www.gwewe.com/dev/de/1010234326.html "WP7开发工具发布10月更新包,改良Bing Map性能") |
| [Windows Phone 7开发小谈——电影搜索器](http://www.gwewe.com/dev/featured/1010102603.html "Windows Phone 7开发小谈——电影搜索器") |
| [Windows Phone 7的屏幕方向及变更处理](http://www.gwewe.com/dev/featured/1010092570.html "Windows Phone 7的屏幕方向及变更处理") |
| [Windows Phone 7多媒体开发](http://www.gwewe.com/dev/featured/1010082488.html "Windows Phone 7多媒体开发") |
| [Windows Phone 7 -UI设计入门](http://www.gwewe.com/dev/featured/1010082481.html "Windows Phone 7 -UI设计入门") |
| [Windows Phone 7上的GPS应用编程详解](http://www.gwewe.com/dev/featured/1010082478.html "Windows Phone 7上的GPS应用编程详解") |
| [Windows Phone架构下CONTENT及开发初探](http://www.gwewe.com/dev/featured/1010082465.html "Windows Phone架构下CONTENT及开发初探") |
| [[Office 2010 易宝典]怎样在Windows Phone上记录笔记并与OneNote 2010同步](http://www.gwewe.com/dev/featured/1010012033.html "[Office 2010 易宝典]怎样在Windows Phone上记录笔记并与OneNote 2010同步") |
| [开发Sony Ericsson XPERIA X1上的Windows Mobile 应用程序](http://www.gwewe.com/dev/featured/1009251464.html "开发Sony Ericsson XPERIA X1上的Windows Mobile 应用程序") |
| [windows phone的Class Library简记](http://www.gwewe.com/dev/featured/1009251461.html "windows phone的Class Library简记") |
| [Windows Phone Passing arguments between pages and Input Scope](http://www.gwewe.com/dev/featured/1009251459.html "Windows Phone Passing arguments between pages and Input Scope") |
| [Windows Phone Audio recorder](http://www.gwewe.com/dev/featured/1009251457.html "Windows Phone Audio recorder") |
| [Windows Phone 7 Simple database example](http://www.gwewe.com/dev/featured/1009251455.html "Windows Phone 7 Simple database example") |
| [从新浪微博客户端看Windows Phone 7的开发](http://www.gwewe.com/dev/featured/1009251450.html "从新浪微博客户端看Windows Phone 7的开发") |
| [(Controls) Creating List Picker for WP7.](http://www.gwewe.com/dev/featured/1009251446.html "(Controls) Creating List Picker for WP7.") |
| [Windows Phone上的照片应用程序的可扩展性](http://www.gwewe.com/dev/featured/1009251442.html "Windows Phone上的照片应用程序的可扩展性") |
| [超链接导航和片段导航](http://www.gwewe.com/dev/featured/1009251433.html "超链接导航和片段导航") |
| [改变WindowsPhone7程序的启动Page](http://www.gwewe.com/dev/featured/1009251431.html "改变WindowsPhone7程序的启动Page") |
| [改变Windows Phone 7程序的启动Page](http://www.gwewe.com/dev/featured/1009080159.html "改变Windows Phone 7程序的启动Page") |
| [[Windows Phone开发大赛]银光收音机程序](http://www.gwewe.com/dev/featured/1009251371.html "[Windows Phone开发大赛]银光收音机程序") |
| [Windows Phone 7的滑动窗口导航](http://www.gwewe.com/dev/featured/1009231094.html "Windows Phone 7的滑动窗口导航") |
| [Windows Phone 7上的物理引擎](http://www.gwewe.com/dev/featured/1009231066.html "Windows Phone 7上的物理引擎") |
| [【视频】Windows Phone 7小应用4则](http://www.gwewe.com/dev/featured/1009231058.html "【视频】Windows Phone 7小应用4则") |
| [监控宝Windows Phone 7客户端](http://www.gwewe.com/dev/featured/1009140752.html "[被遗弃的小指]监控宝Windows Phone 7客户端") |
| [给你的Windows Phone 7模拟器加入GPS和加速度传感器模拟功能](http://www.gwewe.com/dev/featured/1009140749.html "[被遗弃的小指]给你的Windows Phone 7模拟器加入GPS和加速度传感器模拟功能") |
| [Windows Phone 7用户界面设计与交互规范2.0版正式发布](http://www.gwewe.com/dev/featured/1009140745.html "Windows Phone 7用户界面设计与交互规范2.0版正式发布") |
| [《Windows Phone 7 用户界面设计和交互指南 v2.0》发布](http://www.gwewe.com/dev/featured/1009140708.html "《Windows Phone 7 用户界面设计和交互指南 v2.0》发布") |
| [Windows Phone 7 应用界面设计 PSD 源文件下载](http://www.gwewe.com/dev/de/1009140650.html "Windows Phone 7 应用界面设计 PSD 源文件下载") |
| [《Windows Phone 7 UI设计及人机交互指南》发布](http://www.gwewe.com/dev/download/1009140647.html "《Windows Phone 7 UI设计及人机交互指南》发布") |
| [Microsoft Windows Phone 7-欲称霸移动平台需支持Html 5](http://www.gwewe.com/dev/featured/1009140632.html "[chenkai]Microsoft Windows Phone 7-欲称霸移动平台需支持Html 5") |
| [关于WP7的一点想法](http://www.gwewe.com/dev/featured/1009060035.html "关于WP7的一点想法") |
| [Windows Phone 7云服务MyPhone曝光](http://www.gwewe.com/dev/featured/1009060020.html "Windows Phone 7云服务MyPhone曝光") |
| [微软重金力邀开发人员从iPhone转战WP7](http://www.gwewe.com/dev/de/1006240071.html "微软重金力邀开发人员从iPhone转战WP7") |
| [Windows 7 部署 Android 开发环境傻瓜式教程(Eclipse+ADT)](http://www.gwewe.com/dev/de/1004010377.html "Windows 7 部署 Android 开发环境傻瓜式教程(Eclipse+ADT)") |
| [Windows Phone 7的多任务解决方案](http://www.gwewe.com/dev/featured/1004010351.html "Windows Phone 7的多任务解决方案") |
**后记**
终于整理完了,花了好几个小时啊,希望大家喜欢这篇吐血整理的Windows Phone 7教程大全,支持机微网。编者水平有限,难免有分错类或其它的错误,有不对的地方请大家指出,谢谢。夜已深,哥要睡了
WindowsPhone之我见
最后更新于:2022-04-01 11:30:24
本文系本站原创,欢迎转载! 转载请注明出处:
[http://blog.csdn.net/mr_raptor/article/details/7065072](http://blog.csdn.net/mr_raptor/article/details/7065072)
其实,对于WP7我没有什么好说的,被全球PC用户惯坏了的Microsoft,为了抵抗来自Gooogle的云计算与Android端平台,争夺失去的往日光环,挤入移动时代,抗衡APPLE的新崛起,而推出的最新的移动开发平台。**但是,今天细细品味当前的IT市场,写来此文,片面之言,权当清风习耳。**
微软推出WP7的背景如下:
1. Apple的异军崛起
2. Google的咄咄逼人
3. Intel盟友的叛变(与Nokia联姻)
4. 当前进入了移动新时代,平板电脑代替了PC机,云计算代替了服务器与客户端,3G,4G的推出为物联网,云计算扩展了道路。
由此可见,**Microsoft已经是个行动缓慢,自负的大佬**,如果不及时的调整公司的发展战略,早晚会丢失自己的位置。
在了解WP7之前,看下WP7的前身Windows Mobile的典型特点:
1. 可移植,可裁剪好
2. 实时性佳
3. 快捷方便的开发IDE
不过,微软新出的移动平台WP7却并没有将WM的特点完全继承而来,而是一个全新的移动平台概念,甚至该设计概念是和之前的WM平台相悖。WP7最主要的特点是:**缩小了可移植,可裁剪的特性,增加了统一化和集成化。**
为什么微软会这么做,在微软内部流传的一句话最直接的告诉了我们的答案,这句话在默默的诅咒着它的对手Google:**今天的WM就是明天的Android。**
当然,微软说这句话的时候,心情是很悲壮的,WM之所以被微软放弃,有几个原因:
1. 为提高其移植性,兼容太多了硬件平台
2. 应用程序全部交给第三方厂家去开发,没有一个统一的软件评测管理平台
3. 由于其移植性,第三方产品生产商研发能力参差不齐,造成产品性能不稳定,对WinCE口碑影响较大
由上述原因可以看到,它的特点和现在的Android有着惊人的相似之处,这也能解释为什么Android系统要想达到iPhone的流畅程度,要将硬件设计的更强,就是因为其移植性(**其实,在Apple和Android博弈的时候,ARM是笑的最灿烂的,iPhone对用户体验的追求刺激了Android对硬件的提升,二者都使用ARM内核,当然这里面还有借ARM快速成长的高通**)。
微软内部有很多天才,微软放弃WM是明智的,至少现在看来。它的伤让它明白了自己的痛苦,明白自己的将来的方向 - 抄袭Jobs的iOS平台模式,推出自己的全新的WP7。
2007年,当Jobs说自己要研发手机时,微软是笑的最灿烂的,因为在微软看来,Apple将要失去和微软竞争OS市场的机会。在2011年Apple凭借iPhone和iPad,全球品牌价值第一。我想,**微软现在心里肯定酸酸的**。
我很是佩服Jobs的天才能力,以致于我怀疑它比我是不是多长了几个器官。当然让微软头疼的不仅仅是那个让每个人见了都当艺术品,每个人见了都想舔一口的设计理念,而是它后面的AppStore。
之所以**苹果成功**,有以下原因:
1. 统一的硬件配置,所有iPhone型号,使用相同硬件,这就决定了其软件就一个,那就是iOS,可以最直接,最快速的对硬件进行驱动和管理。
2. 统一的系统配置,全部使用自己研发的iOS,这就决定了上层的应用接口的统一标准化,就决定了应用程序可以最快速的,最安全的运行。
3. 统一的软件安装接口,全部使用iTunes进行同步,这就决定了第三方软件生产商不能为所欲为。
4. 超高的自信和设计理念,Jobs从第一天有想法做iPhone就想着,我是全球第一,从iPhone的出世标志着进入了新的移动智能时代,它最先引入各种最新元素,全屏触摸,重力感应,光线感应,红外感应等。
**其实,Jobs是一个独裁者**,它将硬件,系统,软件,设计都全都自己说了算,做到了集大成,统大统,精至精。细观中国历史,最光辉的时代,也是权力最集中的时代,秦皇统一六国,康熙维护中国版图,收复失地。为什么微软怕了Jobs,Google害怕和Apple相提并论以致于收购Moto才收回点信心,因为**它们面对的不是一个Jobs,而是Jobs领导的IT帝国。**
WP7吸收了Apple成功的要素,总结了自己WinCE失败的原因,开发出了全新的WindowsPhone平台缩小了可移植,可裁剪的特性,增加了统一化和集成化,将应用程序全部发布到其Marketplace上。以此,来收复自己丢失的市场份额。不过,其系统目前来看,除了Metro UI带来的新喜和流畅外,没有什么明显的特性,吸收的都是当前主流的东西,加上自己很多不完善的软肋,因此,如果不做出调整的话,不太看强其将来的发展,市场份额也证明了我的想法(见下面图分析)。不过,微软毕竟不是吃素的,有着庞大的PC粉,有着其无人可及的IDE开发环境,有着强大的研发团体,我们期待其重振雄风那一天。
**PS:北美智能手机平台市场份额(数据来自comScore,全球著名数据统计网站之一)**
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d92658b9.gif)
解析:
上图是从10年11月至11年2月各主要智能手机平台市场份额,主要有以下几家:
Google的Android, BlackBerry黑莓的RIM, Apple的iOS,Microsoft的WM和WP7,Palm
由图可见,Android以最快增长速度统领北美市场从26%到33%,三分之一江山尽收旗下,iOS以微弱增幅位居第三,市场份额四分之一。
分析,如今大红的iPhone为什么在10年底增幅微弱,我的见解如下,从2010年秋季发布会之后,一直对iPhone4的后续产品是个迷,所以从10年底开始,很多苹果粉开始放弃购买iPhone4,而等待所谓的iPhone5(当然11年秋季发布会发布的是iPhone4S),这在一定程序上影响了Apple智能手机的增幅。
尽管微软在10年10月推出了WindowsPhone,但是仍然不能阻挡它的下降趋势,在3个月内丢失了1.3%的市场份额。
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d927f991.gif)
解析:
上图是从11年1月至11年4月各主要智能手机平台市场份额
可见,Android仍以5.2%的增长率雄居第一,RIM从第二位置摔了下来,iOS以1.3的增长率位居第二,同样推出新平台的微软并没有收回丢失的份额,而继续下跌。
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d929200f.gif)
上图是从11年4月至11年7月各主要智能手机平台市场份额
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d92a43e4.gif)
上图是从11年6月至11年9月各主要智能手机平台市场份额
随着WP7平台的推广,微软市场份额跌幅开始减少。
下面给出的图可以更清楚的看出来。
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d92b67cb.gif)
最新的11年第4季度数据如下
下面图来自Nielsen公司:
[http://www.bgr.com/2011/11/29/nielsen-android-extends-smartphone-platform-lead-apple-still-top-vendor/](http://www.bgr.com/2011/11/29/nielsen-android-extends-smartphone-platform-lead-apple-still-top-vendor/)
下面图统计时间为11年8月至10月
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-27_57205d92e65f0.gif)
由上图可以看出,WP7.5在11年9月份发布会上发布,**微软开始缓慢收复市场份额**,将来微软何去何从,让我们拭目以待。
本文系本站原创,欢迎转载! 转载请注明出处:
[http://blog.csdn.net/mr_raptor/article/details/7065072](http://blog.csdn.net/mr_raptor/article/details/7065072)
前言
最后更新于:2022-04-01 11:30:22
> 原文出处:[WindowsPhone开发技术专栏](http://blog.csdn.net/column/details/windowsphonecamp.html)
作者:[唐攀](http://blog.csdn.net/mr_raptor)
**本系列文章经作者授权在看云整理发布,未经作者允许,请勿转载!**
# WindowsPhone开发技术专栏
> 深入浅出,集中介绍WindowsPhone,XNA游戏设计过程中的技术点与经验谈,形成以WindowsPhone移动平台为中心的技术文章阵营。