1,重新梳理了代码,将使用多线程,并实现了批量读取变量
2,添加OpcUa更新方式的修改对话框 3,修复了一些已知的Bug 4,删除了不必要的函数
This commit is contained in:
23
Views/Dialogs/OpcUaUpdateTypeDialog.xaml
Normal file
23
Views/Dialogs/OpcUaUpdateTypeDialog.xaml
Normal file
@@ -0,0 +1,23 @@
|
||||
<ui:ContentDialog x:Class="PMSWPF.Views.Dialogs.OpcUaUpdateTypeDialog"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:ui="http://schemas.inkore.net/lib/ui/wpf/modern"
|
||||
xmlns:enums="clr-namespace:PMSWPF.Enums"
|
||||
xmlns:extensions="clr-namespace:PMSWPF.Extensions"
|
||||
xmlns:viewModels="clr-namespace:PMSWPF.ViewModels.Dialogs"
|
||||
mc:Ignorable="d"
|
||||
d:DataContext="{d:DesignInstance Type=viewModels:OpcUaUpdateTypeDialogViewModel}"
|
||||
Title="修改 OPC UA 更新方式"
|
||||
PrimaryButtonText="确认"
|
||||
CloseButtonText="取消"
|
||||
DefaultButton="Primary">
|
||||
|
||||
<Grid>
|
||||
<ComboBox Margin="15"
|
||||
ItemsSource="{Binding Source={extensions:EnumBindingSource {x:Type enums:OpcUaUpdateType}}}"
|
||||
SelectedValue="{Binding SelectedUpdateType}"
|
||||
VerticalAlignment="Center"/>
|
||||
</Grid>
|
||||
</ui:ContentDialog>
|
||||
14
Views/Dialogs/OpcUaUpdateTypeDialog.xaml.cs
Normal file
14
Views/Dialogs/OpcUaUpdateTypeDialog.xaml.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
using iNKORE.UI.WPF.Modern.Controls;
|
||||
using PMSWPF.ViewModels.Dialogs;
|
||||
|
||||
namespace PMSWPF.Views.Dialogs
|
||||
{
|
||||
public partial class OpcUaUpdateTypeDialog
|
||||
{
|
||||
public OpcUaUpdateTypeDialog(OpcUaUpdateTypeDialogViewModel viewModel)
|
||||
{
|
||||
InitializeComponent();
|
||||
DataContext = viewModel;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -210,13 +210,23 @@
|
||||
</MenuItem.Icon>
|
||||
</MenuItem>
|
||||
<MenuItem Header="修改轮询频率"
|
||||
Click="ChangePollLevel_Click">
|
||||
Command="{Binding ChangePollLevelCommand}"
|
||||
CommandParameter="{Binding PlacementTarget.SelectedItems, RelativeSource={RelativeSource AncestorType=ContextMenu}}">
|
||||
<MenuItem.Icon>
|
||||
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Edit}" />
|
||||
</MenuItem.Icon>
|
||||
</MenuItem>
|
||||
<MenuItem Header="修改OPC UA更新方式"
|
||||
Visibility="{Binding IsOpcUaProtocolSelected, Converter={StaticResource BooleanToVisibilityConverter}}"
|
||||
Command="{Binding ModifyOpcUaUpdateTypeCommand}"
|
||||
CommandParameter="{Binding PlacementTarget.SelectedItems, RelativeSource={RelativeSource AncestorType=ContextMenu}}">
|
||||
<MenuItem.Icon>
|
||||
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Switch}" />
|
||||
</MenuItem.Icon>
|
||||
</MenuItem>
|
||||
<MenuItem Header="添加MQTT服务器"
|
||||
Click="AddMqttServerToVariables_Click">
|
||||
Command="{Binding AddMqttServerToVariablesCommand}"
|
||||
CommandParameter="{Binding PlacementTarget.SelectedItems, RelativeSource={RelativeSource AncestorType=ContextMenu}}">
|
||||
<MenuItem.Icon>
|
||||
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Add}" />
|
||||
</MenuItem.Icon>
|
||||
@@ -271,9 +281,6 @@
|
||||
Header="OPCUA节点ID"
|
||||
Visibility="{Binding Source={StaticResource proxy}, Path=Data.IsOpcUaProtocolSelected, Converter={StaticResource BooleanToVisibilityConverter}}"
|
||||
Binding="{Binding OpcUaNodeId}" />
|
||||
<!-- <DataGridTextColumn IsReadOnly="True" -->
|
||||
<!-- Header="协议类型" -->
|
||||
<!-- Binding="{Binding ProtocolType}" /> -->
|
||||
<DataGridTextColumn IsReadOnly="True"
|
||||
Header="数据类型"
|
||||
Binding="{Binding DataType}" />
|
||||
|
||||
@@ -120,46 +120,4 @@ public partial class VariableTableView : UserControl
|
||||
NotificationHelper.ShowInfo("请选择要删除的变量");
|
||||
}
|
||||
}
|
||||
|
||||
private async void ChangePollLevel_Click(object sender, RoutedEventArgs args)
|
||||
{
|
||||
try
|
||||
{
|
||||
_viewModel = (VariableTableViewModel)this.DataContext;
|
||||
var selectedVariables = BasicGridView.SelectedItems.Cast<VariableData>().ToList();
|
||||
if (selectedVariables.Any())
|
||||
{
|
||||
await _viewModel.ChangePollLevel(selectedVariables);
|
||||
}
|
||||
else
|
||||
{
|
||||
NotificationHelper.ShowInfo("请选择要修改轮询频率的变量");
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
NotificationHelper.ShowError("修改轮询频率的过程中发生了错误:" + e.Message, e);
|
||||
}
|
||||
}
|
||||
|
||||
private async void AddMqttServerToVariables_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
_viewModel = (VariableTableViewModel)this.DataContext;
|
||||
var selectedVariables = BasicGridView.SelectedItems.Cast<VariableData>().ToList();
|
||||
if (selectedVariables.Any())
|
||||
{
|
||||
await _viewModel.AddMqttServerToVariables(selectedVariables);
|
||||
}
|
||||
else
|
||||
{
|
||||
NotificationHelper.ShowInfo("请选择要添加MQTT服务器的变量");
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
NotificationHelper.ShowError("给变量添加MQTT服务器的过程中发生了错误:" + ex.Message, ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user