完成单个变量编辑
This commit is contained in:
@@ -93,4 +93,18 @@ public class DialogService :IDialogService
|
|||||||
MessageBox.Show(message);
|
MessageBox.Show(message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task<VariableData> ShowEditVarDataDialog(VariableData variableData)
|
||||||
|
{
|
||||||
|
VarDataDialogViewModel vm = new();
|
||||||
|
vm.Title = "编辑变量";
|
||||||
|
vm.PrimaryButtonText = "编辑变量";
|
||||||
|
vm.VariableData = variableData;
|
||||||
|
var dialog = new VarDataDialog(vm);
|
||||||
|
var res = await dialog.ShowAsync();
|
||||||
|
if (res == ContentDialogResult.Primary)
|
||||||
|
{
|
||||||
|
return vm.VariableData;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -14,4 +14,5 @@ public interface IDialogService
|
|||||||
Task<VariableData> ShowAddVarDataDialog();
|
Task<VariableData> ShowAddVarDataDialog();
|
||||||
|
|
||||||
void ShowMessageDialog(string title, string message);
|
void ShowMessageDialog(string title, string message);
|
||||||
|
Task<VariableData> ShowEditVarDataDialog(VariableData variableData);
|
||||||
}
|
}
|
||||||
@@ -23,6 +23,9 @@ partial class VariableTableViewModel : ViewModelBase
|
|||||||
[ObservableProperty]
|
[ObservableProperty]
|
||||||
private ObservableCollection<VariableData> _dataVariables;
|
private ObservableCollection<VariableData> _dataVariables;
|
||||||
|
|
||||||
|
[ObservableProperty]
|
||||||
|
private VariableData _selectedVariableData;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否是第一次加载,防止ToggleSwitch第一次加载触发改变事件
|
/// 是否是第一次加载,防止ToggleSwitch第一次加载触发改变事件
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -53,6 +56,36 @@ partial class VariableTableViewModel : ViewModelBase
|
|||||||
IsLoadCompletion = true;
|
IsLoadCompletion = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[RelayCommand]
|
||||||
|
public async void EditVarData(VariableTable variableTable)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
// // 1. 显示添加设备对话框
|
||||||
|
var varData = await _dialogService.ShowEditVarDataDialog(SelectedVariableData);
|
||||||
|
// // 如果用户取消或对话框未返回设备,则直接返回
|
||||||
|
if (varData == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
varData.VariableTableId = variableTable.Id;
|
||||||
|
// 更新数据库
|
||||||
|
await _varDataRepository.UpdateAsync(varData);
|
||||||
|
// 更新当前页面的
|
||||||
|
var index = variableTable.DataVariables.IndexOf(SelectedVariableData);
|
||||||
|
// 更新变量表中的
|
||||||
|
if (index >= 0 && index < variableTable.DataVariables.Count)
|
||||||
|
variableTable.DataVariables[index] = varData;
|
||||||
|
NotificationHelper.ShowMessage($"编辑变量成功:{varData?.Name}", NotificationType.Success);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
string msg = $"编辑变量的过程中发生了不可预期的错误:";
|
||||||
|
Logger.Error(msg + e);
|
||||||
|
NotificationHelper.ShowMessage(msg + e.Message, NotificationType.Error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
[RelayCommand]
|
[RelayCommand]
|
||||||
public async void AddVarData(VariableTable variableTable)
|
public async void AddVarData(VariableTable variableTable)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -52,8 +52,9 @@
|
|||||||
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Add}" />
|
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Add}" />
|
||||||
</ui:AppBarButton.Icon>
|
</ui:AppBarButton.Icon>
|
||||||
</ui:AppBarButton>
|
</ui:AppBarButton>
|
||||||
<ui:AppBarButton x:Name="EditButton"
|
<ui:AppBarButton Command="{Binding EditVarDataCommand}"
|
||||||
Label="Edit">
|
CommandParameter="{Binding VariableTable}"
|
||||||
|
Label="编辑变量">
|
||||||
<ui:AppBarButton.Icon>
|
<ui:AppBarButton.Icon>
|
||||||
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Edit}" />
|
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Edit}" />
|
||||||
</ui:AppBarButton.Icon>
|
</ui:AppBarButton.Icon>
|
||||||
@@ -102,6 +103,7 @@
|
|||||||
<DataGrid Margin="10"
|
<DataGrid Margin="10"
|
||||||
AutoGenerateColumns="False"
|
AutoGenerateColumns="False"
|
||||||
CanUserSortColumns="True"
|
CanUserSortColumns="True"
|
||||||
|
SelectedItem="{Binding SelectedVariableData}"
|
||||||
ItemsSource="{Binding DataVariables}">
|
ItemsSource="{Binding DataVariables}">
|
||||||
<DataGrid.Columns>
|
<DataGrid.Columns>
|
||||||
<DataGridTextColumn Header="名称" Binding="{Binding Name}" />
|
<DataGridTextColumn Header="名称" Binding="{Binding Name}" />
|
||||||
|
|||||||
Reference in New Issue
Block a user