功能增强:添加 InputDialog 并改进变量管理功能
- 新增 InputDialog 组件:
- 添加了 InputDialog.xaml 和 InputDialog.xaml.cs 文件
- 创建了 InputDialogViewModel.cs,继承自 DialogViewModelBase<string?>
- 实现了可重用的输入对话框,支持自定义标题、消息、标签和占位符
- 完善变量管理服务:
- 在 MappingProfile.cs 中添加了 VariableDto 到 VariableDto 的映射配置
- 在 VariableManagementService.cs 中注入 IMapper 依赖项
- 修改了 UpdateVariablesAsync 方法,使用 AutoMapper 进行更安全的更新操作
- 扩展变量表功能:
- 在 VariableTableViewModel.cs 中添加了 ModifyConversionFormula 命令
- 实现了批量修改变量转换公式功能,支持用户通过对话框输入新公式
- 添加了相应的 UI 通知和错误处理
- 在 VariableTableView.xaml 中添加了"修改数值转换公式"菜单项
- 集成 InputDialog 到对话框服务:
- 在 DialogService.cs 中注册了 InputDialogViewModel 和 InputDialog 的映射关系
This commit is contained in:
64
DMS.WPF/ViewModels/Dialogs/InputDialogViewModel.cs
Normal file
64
DMS.WPF/ViewModels/Dialogs/InputDialogViewModel.cs
Normal file
@@ -0,0 +1,64 @@
|
||||
using CommunityToolkit.Mvvm.ComponentModel;
|
||||
using CommunityToolkit.Mvvm.Input;
|
||||
|
||||
namespace DMS.WPF.ViewModels.Dialogs;
|
||||
|
||||
public partial class InputDialogViewModel : DialogViewModelBase<string?>
|
||||
{
|
||||
[ObservableProperty]
|
||||
private string _message = string.Empty;
|
||||
|
||||
[ObservableProperty]
|
||||
private string _inputLabel = "输入";
|
||||
|
||||
[ObservableProperty]
|
||||
private string _inputPlaceholder = "请输入...";
|
||||
|
||||
[ObservableProperty]
|
||||
private string? _inputText;
|
||||
|
||||
[ObservableProperty]
|
||||
private string _primaryButtonText = "确定";
|
||||
|
||||
[ObservableProperty]
|
||||
private string _closeButtonText = "取消";
|
||||
|
||||
public InputDialogViewModel(string title, string message)
|
||||
{
|
||||
Title = title;
|
||||
Message = message;
|
||||
}
|
||||
|
||||
public InputDialogViewModel(string title, string message, string inputLabel) : this(title, message)
|
||||
{
|
||||
InputLabel = inputLabel;
|
||||
}
|
||||
|
||||
public InputDialogViewModel(string title, string message, string inputLabel, string inputPlaceholder) : this(title, message, inputLabel)
|
||||
{
|
||||
InputPlaceholder = inputPlaceholder;
|
||||
}
|
||||
|
||||
public InputDialogViewModel(string title, string message, string inputLabel, string inputPlaceholder, string? defaultValue) : this(title, message, inputLabel, inputPlaceholder)
|
||||
{
|
||||
InputText = defaultValue;
|
||||
}
|
||||
|
||||
public InputDialogViewModel()
|
||||
{
|
||||
Title = "输入";
|
||||
Message = "请输入信息:";
|
||||
}
|
||||
|
||||
[RelayCommand]
|
||||
private void Confirm()
|
||||
{
|
||||
Close(InputText);
|
||||
}
|
||||
|
||||
[RelayCommand]
|
||||
private void Cancel()
|
||||
{
|
||||
Close(null);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user