本项目是一个为暑培编写的toy model。基于本项目的WPF基础讲解视频已保存到清华云盘,推荐零基础的同学先观看视频,再阅读本项目并完成以下的习题。
- 阅读本项目中的核心代码,了解WPF项目结构。
- 自行添加代码,完成讲解中演示的数据绑定和样式/模板设置。
- 实现你认为本游戏还需要添加的其他玩法。
- 自行完成一个打飞机小游戏,并转发给你的朋友。以下为提示:
- 复用本项目的viewmodel来显示UI。
- 复用本项目的样式和模板。当然,你也可以自己创造。
- 如果你的游戏中满屏都是子弹,可能需要应用一些算法来提高性能。
- 使用ClickOnce进行打包。
- 给本项目提issue,指出作者水平的不足。
以下列出了一些我认为有必要阅读的MSDOC文档。
- C#编程指南:事件 https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/events/
- WPF中的XAML https://docs.microsoft.com/zh-cn/dotnet/desktop/wpf/xaml
- 将对象组织到布局容器中 https://docs.microsoft.com/zh-cn/visualstudio/xaml-tools/organize-objects-into-layout-containers-in-xaml-designer
- WPF样式与模板 https://docs.microsoft.com/zh-cn/dotnet/desktop/wpf/controls/styles-templates-overview
- WPF代码数据绑定 https://docs.microsoft.com/zh-cn/dotnet/desktop/wpf/data/how-to-create-a-binding-in-code
- WPF路由事件概述 https://docs.microsoft.com/zh-cn/dotnet/desktop/wpf/events/routed-events-overview
- WPF线程处理模型 https://docs.microsoft.com/zh-cn/dotnet/desktop/wpf/advanced
要更深入了解WPF,你可以回到这些链接的上一级来阅读你感兴趣的内容。我的建议是,关注代码执行的底层逻辑,而不是死记硬背控件的使用规则。 Enjoy your coding!