第一部分:概述与背景
什么是 Windows Phone?
Windows Phone (简称 WP) 是微软公司曾经推出的一个移动操作系统,它以其独特的“磁贴”(Live Tiles)界面、流畅的动画效果和深度集成的生态系统(如 OneDrive, Office)而闻名。

为什么学习已停止的平台?
- 历史价值:了解移动应用开发的历史和演进。
- 技术传承:WP 使用的 C# 和 XAML 技术栈是现代 Windows 开发(UWP, WinUI 3)的基石。
- 个人项目:可以在旧设备或模拟器上重温经典,或为个人娱乐开发应用。
- 技能迁移:学到的 C#、MVVM 设计模式、XAML 布局等知识可以直接应用到 .NET 开发领域。
开发环境准备(历史版本)
你需要安装以下已停止支持的软件:
- Windows OS:必须在 Windows 10 或更早的操作系统上安装(Windows 11 可能不兼容)。
- Visual Studio:推荐安装 Visual Studio 2025 Update 3 或 Visual Studio 2025,这些版本包含了 WP 开发的模板和工具,新版 Visual Studio 已移除 WP 支持。
- Windows Phone SDK:在安装 Visual Studio 时,务必勾选 "Windows Phone 8.1 SDK" 或 "Windows Phone Silverlight 8.1" 工作负载。
- Windows Phone 模拟器:SDK 会自动安装,你可以在 Visual Studio 中选择不同的手机型号进行调试。
第二部分:核心概念与技术栈
Windows Phone 开发主要有两条技术路线:
Windows Phone Silverlight (WP8.1) - 更传统、更简单
这是 WP8.1 时代最主流的开发方式,类似于早期的 Windows Phone 7/8 开发。
- 编程语言:C#
- UI 框架:XAML (eXtensible Application Markup Language),一种基于 XML 的声明式语言,用于设计用户界面。
- 开发模式:主要是事件驱动,你编写 C# 代码来响应用户在 UI 上的操作(如点击按钮)。
- 项目模板:
- Windows Phone Silverlight 8.1 应用:创建一个标准的 WP 应用。
- Windows Phone Silverlight 8.1 类库:创建可重用的代码库。
Windows Runtime (WinRT) Apps (WP8.1) - 更现代、更强大
这是 Windows 8.1 引入的现代化应用模型,WP8.1 也采用了它,它提供了更丰富的 API 和更好的性能。

- 编程语言:C#, VB.NET, 或 C++
- UI 框架:同样是 XAML,但语法和功能更接近 Windows 8.1 Store App。
- 开发模式:支持事件驱动,也推荐使用 MVVM (Model-View-ViewModel) 设计模式,使 UI 和业务逻辑分离。
- 项目模板:
- Windows Phone 8.1:创建一个基于 WinRT 的 WP 应用。
本教程将以更简单、更普及的 Windows Phone Silverlight 8.1 为例进行讲解。
第三部分:实战教程 - 创建你的第一个 "Hello World" 应用
我们将创建一个简单的应用,点击按钮后,在屏幕上显示 "Hello, Windows Phone!"。
步骤 1:创建新项目
- 打开 Visual Studio 2025/2025。
- 选择 "文件" -> "新建" -> "项目"。
- 在左侧模板中,选择 "Visual C#" -> "Windows Phone"。
- 选择 "Windows Phone Silverlight 8.1 应用" 模板。
- 为你的项目命名(
HelloWPApp),并选择一个位置,然后点击 "确定"。
步骤 2:了解项目结构
创建项目后,你会看到几个关键文件:
MainPage.xaml:这是你的应用主界面的 XAML 文件,它定义了屏幕上有什么控件(如按钮、文本框)以及它们如何布局。MainPage.xaml.cs:这是MainPage.xaml对应的 C# 代码文件,你在这里编写按钮点击等事件的处理逻辑。App.xaml和App.xaml.cs:这是整个应用的入口点,用于处理应用级别的启动、关闭和全局资源。Package.appxmanifest:应用清单文件,定义了应用的名称、图标、功能权限等元数据。
步骤 3:设计用户界面 (XAML)
打开 MainPage.xaml,你会看到一些默认的 XAML 代码。

- :找到
<TextBlock x:Name="myApplicationTitle" ...>这一行,将其Text属性修改为 "你好,世界!"。 - 添加按钮:在
<Grid>标签内,<TextBlock>下面,添加一个<Button>控件。
<!-- MainPage.xaml -->
<phone:PhoneApplicationPage
x:Class="HelloWPApp.MainPage"
...>
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<!-- 这是默认的标题 -->
<TextBlock x:Name="myApplicationTitle" Text="你好,世界!" Style="{StaticResource PhoneTextExtraLargeStyle}" Margin="9,-7,0,0"/>
<!-- 这是我们要添加的按钮 -->
<Button x:Name="myHelloButton" Content="点击我"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Click="myHelloButton_Click"/>
</Grid>
</phone:PhoneApplicationPage>
x:Name="myHelloButton":给按钮一个名字,方便在 C# 代码中引用它。Content="点击我":按钮上显示的文字。HorizontalAlignment和VerticalAlignment:按钮的布局方式,这里让它居中。Click="myHelloButton_Click":这是关键!它定义了当按钮被点击时,要执行名为myHelloButton_Click的方法。
步骤 4:编写逻辑代码 (C#)
双击 XAML 中的按钮,Visual Studio 会自动跳转到 MainPage.xaml.cs 文件,并为你生成一个空的 myHelloButton_Click 事件处理方法。
// MainPage.xaml.cs
using System.Windows;
using System.Windows.Navigation;
namespace HelloWPApp
{
public partial class MainPage : PhoneApplicationPage
{
// 构造函数
public MainPage()
{
InitializeComponent();
}
// 按钮点击事件处理方法
private void myHelloButton_Click(object sender, RoutedEventArgs e)
{
// 创建一个消息框,显示 "Hello, Windows Phone!"
MessageBox.Show("Hello, Windows Phone!");
}
}
}
MessageBox.Show(...):这是 Windows Phone 中最简单的弹窗方式,用于向用户显示信息。
步骤 5:运行和调试
- 在 Visual Studio 顶部,确保目标设备选择为 "模拟器",你可以选择不同的手机型号(如 "Lumia 1520")。
- 按下 F5 键或点击绿色的 "开始调试" 按钮。
- Windows Phone 模拟器会启动,并加载你的应用。
- 在模拟器中,用鼠标点击 "点击我" 按钮,你应该会看到一个弹窗显示 "Hello, Windows Phone!"。
恭喜!你已经成功创建了你的第一个 Windows Phone 应用!
第四部分:进阶学习方向
掌握了基础后,你可以探索以下内容:
-
页面导航:
- 使用
NavigationService.Navigate()方法在不同页面之间跳转。 - 通过
NavigationContext.QueryString传递参数。
- 使用
-
数据绑定:
将 C# 对象的属性直接绑定到 XAML 控件的属性上,实现 UI 和数据的自动同步,这是 MVVM 模式的核心。
-
使用 MVVM 模式:
- View (视图):XAML 文件,负责 UI 展示。
- ViewModel (视图模型):C# 类,包含数据和业务逻辑,并通过属性通知 View 数据变化。
- Model (模型):定义数据结构的 C# 类。
- 使用
INotifyPropertyChanged接口和Binding标记实现 MVVM。
-
访问设备功能:
- 使用
Microsoft.Phone.Controls.Maps控件集成地图。 - 使用
Microsoft.Devices
- 使用
