框架模块
结合这几年上位机开发经历,总结一些模块化开发的经验,博主近些年一直从事视觉检测相关的设备软件开发(之前是做信息化开发),之前工作太忙也没时间精力去总结,今年6月份辞职出来自己做项目,有些时间后顺便能多些学习和总结。另外,公司在苏州,现在需要上位机开发工程师,如果能力可以考虑合伙人,也算是有个机会尝试一下工作与生活平衡,如果有合适项目合作也可以联系博主,QQ:1596917093。
之前的一些项目案例:https://kdocs.cn/l/cgnuQmuPQPv4
目前框架主要实现以上这些模块功能,后续会详细总结具体的模块,有兴趣一起探讨。
路线
Prism基础 =》模块化设计=》UI模块=》驱动模块…
Prism基础
Prism介绍:
官网:https://prismlibrary.com/docs/index.html
Prism 是一个框架,用于在 WPF 和 Xamarin 窗体中构建松散耦合、可维护和可测试的 XAML 应用程序。每个平台都有单独的版本,这些版本将在独立的时间表上开发。Prism 提供了一组设计模式的实现,这些模式有助于编写结构良好且可维护的 XAML 应用程序,包括 MVVM、依赖项注入、命令、事件聚合器等。
Prism WPF 框架的一些Demo:
https://github.com/PrismLibrary/Prism-Samples-Wpf
- 指令 Command
Prism 提供了ICommand接口的实现DelegateCommand
DelegateCommand 可以两个委托 Execute、 CanExecute
public class ArticleViewModel
{
public DelegateCommand SubmitCommand { get; private set; }
public ArticleViewModel()
{
SubmitCommand = new DelegateCommand<object>(Submit, CanSubmit);
}
void Submit(object parameter)
{
//implement logic
}
bool CanSubmit(object parameter)
{
return true;
}
}
在 WPF中,通过View层调用ViewModel 的Command
<Button Command="{Binding SubmitCommand}" CommandParameter="OrderId"/>