伪深入浅出WPF(非刘铁猛老师)

前言

又到了期末课设的时间,其实这次的课设的主题是SQL Server数据库,但是听老师说要做界面那就C#走起,然后上次读《HeadFirs C#》的时候,书上的第一个例子就是WPF,感觉XAML学起来比WinForm有意思多了,上手也比较容易,就正式走进了UI编程的大门了。

过程

到昨天晚上算是终于做完了,回顾看来其实也没有花多久时间,从26号到29号总计3个晚上吧,大概有900行代码,量不多,但是踩的坑确实不少,学的东西也越多喽。后来发现Windows UI 开发挺有趣的,肝了两个晚上学了点皮毛。

工具

  • Visual Studio 2017
  • SQL Server 2012/2017 Express /For Linux
  • Windows10
  • GitHub/Git
  • Centos7.6

踩坑

  • CheckBox只有在属性IsCheckedfalse的状态下才能触发事件,并且一旦触发,属性立马改变而非执行完才改变。
  • MainWindow的属性为只读,不可修改,可以通过Maindow mainWindow = (MainWindow)System.Current.MainWindow; 获取一个实例。
  • Xaml和Xaml.cs两个文件编译后共同形成一个完整的Class这也是Partial修饰限定符的做法
  • bool?变量不可自动转换为bool变量,使用==false or true转换
  • git pull 与git fetch + git merge的区别
  • 删除非MainWindow的控件或者关闭时,最好新开线程,在该类的进程下关闭。

总结

算是从大一开始来自己独立完成的第一个项目了,其实这几天学到的东西比我这个学期上课学到的都要有用,比如说Git的常用操作,WPF的低级操作,还有最重要的SQL Sever的操作。后两天为了做一些美化工作,比如初始化等待窗口时用到了多线程和委托,感觉起来还是稍微有点复杂,但总算入门了。

项目地址

CardQuery(C# WPF)