添加 MX-PD-盘古 项目文件
将 MX-PD-盘古 - new 目录下的所有文件添加到主仓库
This commit is contained in:
72
MX-PD-盘古 - new/PanGu.DieBonderApp/.github/instructions/wpf-mvvm.instructions.md
vendored
Normal file
72
MX-PD-盘古 - new/PanGu.DieBonderApp/.github/instructions/wpf-mvvm.instructions.md
vendored
Normal file
@@ -0,0 +1,72 @@
|
||||
---
|
||||
applyTo: "**/*ViewModel.cs,**/*.xaml,MainShell/Converter/**/*.cs,MainShell/Home/**/*.cs,MainShell/ParaSetting/**/*.cs,MainShell/DeviceMaintance/**/*.cs,MainShell/PageCalib/**/*.cs,MainShell/Manual/**/*.cs"
|
||||
---
|
||||
|
||||
# WPF and MVVM Instructions
|
||||
|
||||
## Framework
|
||||
This repository uses WPF with Stylet.
|
||||
|
||||
## <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ WPF <20><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9> Stylet<65><74>MVVM <20><><EFBFBD>ش<EFBFBD><D8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѭ Stylet <20><>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD>
|
||||
|
||||
## ViewModel Rules
|
||||
- ViewModel classes should inherit from `Screen` or `PropertyChangedBase`
|
||||
- Follow Stylet naming convention:
|
||||
- XxxView ? XxxViewModel
|
||||
- Do not introduce patterns that conflict with Stylet conventions
|
||||
|
||||
## <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>
|
||||
ViewModel <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
- ViewModel <20>̳<EFBFBD> `Screen` <20><> `PropertyChangedBase`
|
||||
- View <20><> ViewModel <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>
|
||||
- <20><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Stylet <20><>ͻ<EFBFBD><CDBB> MVVM ģʽ
|
||||
|
||||
## State Management
|
||||
- Prefer bindable state objects to hold UI state
|
||||
- Do not scatter many unrelated primitive bindable properties if a cohesive state model is more suitable
|
||||
- Distinguish device input state and output state clearly
|
||||
|
||||
## <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>
|
||||
״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>飺
|
||||
- <20><><EFBFBD><EFBFBD>ʹ<EFBFBD>ÿɰ<C3BF><C9B0><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD>ͳһ<CDB3><D2BB><EFBFBD>ؽ<EFBFBD><D8BD><EFBFBD>״̬
|
||||
- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>״̬<D7B4><EFBFBD>Ҫ<EFBFBD><D2AA>ɢ<EFBFBD><C9A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ViewModel <20><>
|
||||
- <20><><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬Ҫ<CCAC><D2AA>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD>
|
||||
|
||||
## IoC Rules
|
||||
- IoC registrations belong in `StartBootstrapper.ConfigureIoC()`
|
||||
- Singleton services should use `[Singleton]` or be registered as singleton in IoC
|
||||
- New services must be registered consistently with existing project patterns
|
||||
|
||||
## <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>
|
||||
IoC <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
- IoC ע<><D7A2>ͳһ<CDB3><D2BB> `StartBootstrapper.ConfigureIoC()` <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8> `[Singleton]` <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>
|
||||
- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѭ<EFBFBD><D1AD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
## XAML Rules
|
||||
- Do not manually implement `InitializeComponent`
|
||||
- Do not work around WPF compilation issues by writing manual code-behind loaders
|
||||
- Fix page compilation through project file and proper WPF item setup
|
||||
- Value converters should be placed in `Converter/` and named `XxxConverter`
|
||||
|
||||
## <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>
|
||||
XAML <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
- <20><>Ҫ<EFBFBD><D2AA>д `InitializeComponent`
|
||||
- <20><>Ҫͨ<D2AA><CDA8> code-behind <20>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3><EFBFBD>ƹ<EFBFBD><C6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
- ҳ<><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧͨ<D3A6><CDA8> csproj <20><> WPF <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
- ת<><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> `Converter/` <20>£<EFBFBD><C2A3><EFBFBD>ʹ<EFBFBD><CAB9> `XxxConverter` <20><><EFBFBD><EFBFBD>
|
||||
|
||||
## Language Resource Rules
|
||||
Project language resources are loaded from:
|
||||
- `Language/MaxwellFramework_{lang}.xaml`
|
||||
- `Language/MXJM_{lang}.xaml`
|
||||
|
||||
Keep generated UI code compatible with the existing localization mechanism.
|
||||
|
||||
## <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѭ<EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><EFBFBD>ƣ<EFBFBD>
|
||||
- ƽ̨<C6BD><CCA8><EFBFBD><EFBFBD><D4B0><EFBFBD>`MaxwellFramework_{lang}.xaml`
|
||||
- <20><>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><D4B0><EFBFBD>`MXJM_{lang}.xaml`
|
||||
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> UI <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>Ҫ<EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD>Ի<EFBFBD><D4BB>ơ<EFBFBD>
|
||||
Reference in New Issue
Block a user