145 lines
7.4 KiB
XML
145 lines
7.4 KiB
XML
<ui:ContentDialog x:Class="DMS.WPF.Views.Dialogs.VariableDialog"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
xmlns:ikw="http://schemas.inkore.net/lib/ui/wpf"
|
|
xmlns:ui="http://schemas.inkore.net/lib/ui/wpf/modern"
|
|
xmlns:vmd="clr-namespace:DMS.WPF.ViewModels.Dialogs"
|
|
xmlns:ex="clr-namespace:DMS.Extensions"
|
|
xmlns:en="clr-namespace:DMS.Core.Enums"
|
|
xmlns:sockets="clr-namespace:System.Net.Sockets;assembly=System.Net.Sockets"
|
|
xmlns:enums="clr-namespace:DMS.Core.Enums;assembly=DMS.Core"
|
|
xmlns:valueConverts="clr-namespace:DMS.WPF.ValueConverts"
|
|
xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
|
|
Title="{Binding Title}"
|
|
CloseButtonText="取消"
|
|
DefaultButton="Primary"
|
|
PrimaryButtonText="{Binding PrimaryButText}"
|
|
Background="#fff"
|
|
|
|
d:DataContext="{d:DesignInstance vmd:VariableDialogViewModel}"
|
|
mc:Ignorable="d">
|
|
|
|
<i:Interaction.Triggers>
|
|
<i:EventTrigger EventName="PrimaryButtonClick">
|
|
<i:InvokeCommandAction Command="{Binding PrimaryButtonCommand}" />
|
|
</i:EventTrigger>
|
|
<i:EventTrigger EventName="CloseButtonClick">
|
|
<i:InvokeCommandAction Command="{Binding CancleButtonCommand}" />
|
|
</i:EventTrigger>
|
|
</i:Interaction.Triggers>
|
|
<ui:ContentDialog.Resources>
|
|
<valueConverts:EnumDescriptionConverter x:Key="EnumDescriptionConverter" />
|
|
</ui:ContentDialog.Resources>
|
|
|
|
<Grid >
|
|
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="*" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<!-- 基本信息 -->
|
|
<GroupBox Header="基本信息" Grid.Row="0" Grid.Column="0" Margin="0 0 10 10">
|
|
<ikw:SimpleStackPanel Margin="10" Spacing="12">
|
|
<TextBlock Text="变量名称"
|
|
Style="{StaticResource TextBlockSubTitle}" />
|
|
<TextBox Width="200" Text="{Binding Variable.Name, UpdateSourceTrigger=PropertyChanged}" />
|
|
|
|
<TextBlock Text="变量描述"
|
|
Style="{StaticResource TextBlockSubTitle}" />
|
|
<TextBox AcceptsReturn="True"
|
|
Text="{Binding Variable.Description, UpdateSourceTrigger=PropertyChanged}" />
|
|
|
|
<TextBlock Text="节点ID"
|
|
Style="{StaticResource TextBlockSubTitle}" />
|
|
<TextBox Text="{Binding Variable.OpcUaNodeId, UpdateSourceTrigger=PropertyChanged}" />
|
|
|
|
<TextBlock Text="协议类型"
|
|
Style="{StaticResource TextBlockSubTitle}" />
|
|
<ComboBox SelectedValue="{Binding Variable.Protocol, UpdateSourceTrigger=PropertyChanged}"
|
|
SelectedValuePath="Tag"
|
|
ItemsSource="{ex:EnumBindingSource {x:Type sockets:ProtocolType}}">
|
|
<ComboBox.ItemTemplate>
|
|
<DataTemplate>
|
|
<TextBlock Text="{Binding Converter={StaticResource EnumDescriptionConverter}}" />
|
|
</DataTemplate>
|
|
</ComboBox.ItemTemplate>
|
|
</ComboBox>
|
|
|
|
<TextBlock Text="数据类型"
|
|
Style="{StaticResource TextBlockSubTitle}" />
|
|
<TextBox Text="{Binding Variable.CSharpDataType, UpdateSourceTrigger=PropertyChanged}" />
|
|
|
|
<TextBlock Text="信号类型"
|
|
Style="{StaticResource TextBlockSubTitle}" />
|
|
<ComboBox SelectedValue="{Binding Variable.SignalType, UpdateSourceTrigger=PropertyChanged}"
|
|
SelectedValuePath="Tag"
|
|
ItemsSource="{ex:EnumBindingSource {x:Type enums:SignalType}}">
|
|
<ComboBox.ItemTemplate>
|
|
<DataTemplate>
|
|
<TextBlock Text="{Binding Converter={StaticResource EnumDescriptionConverter}}" />
|
|
</DataTemplate>
|
|
</ComboBox.ItemTemplate>
|
|
</ComboBox>
|
|
|
|
<TextBlock Text="轮询级别"
|
|
Style="{StaticResource TextBlockSubTitle}" />
|
|
<ComboBox SelectedValue="{Binding Variable.PollLevel, UpdateSourceTrigger=PropertyChanged}"
|
|
SelectedValuePath="Tag"
|
|
ItemsSource="{ex:EnumBindingSource {x:Type enums:PollLevelType}}">
|
|
<ComboBox.ItemTemplate>
|
|
<DataTemplate>
|
|
<TextBlock Text="{Binding Converter={StaticResource EnumDescriptionConverter}}" />
|
|
</DataTemplate>
|
|
</ComboBox.ItemTemplate>
|
|
</ComboBox>
|
|
</ikw:SimpleStackPanel>
|
|
</GroupBox>
|
|
|
|
<ikw:SimpleStackPanel Grid.Row="0" Grid.Column="1" >
|
|
<!-- 保存设置 -->
|
|
<GroupBox Header="保存设置" Margin="10 0 0 10">
|
|
<ikw:SimpleStackPanel Spacing="12" Margin="10">
|
|
<TextBlock Text="保存范围"
|
|
Style="{StaticResource TextBlockSubTitle}" />
|
|
<TextBox Width="200" Text="{Binding Variable.HistoryDeadband, UpdateSourceTrigger=PropertyChanged}" />
|
|
<CheckBox Content="是否激活"
|
|
FontSize="16"
|
|
Margin="0 10 0 0 "
|
|
IsChecked="{Binding Variable.IsActive, UpdateSourceTrigger=PropertyChanged}" />
|
|
<CheckBox Content="是否保存"
|
|
FontSize="16"
|
|
Margin="0 10 0 0 "
|
|
IsChecked="{Binding Variable.IsHistoryEnabled, UpdateSourceTrigger=PropertyChanged}" />
|
|
|
|
</ikw:SimpleStackPanel>
|
|
</GroupBox>
|
|
|
|
<!-- 报警设置 -->
|
|
<GroupBox Header="报警设置" Margin="10 15 0 10">
|
|
<ikw:SimpleStackPanel Margin="10" Spacing="12">
|
|
|
|
<TextBlock Text="报警最小值"
|
|
Style="{StaticResource TextBlockSubTitle}" />
|
|
<TextBox Text="{Binding Variable.AlarmMinValue, UpdateSourceTrigger=PropertyChanged}" />
|
|
<TextBlock Text="报警最大值"
|
|
Style="{StaticResource TextBlockSubTitle}" />
|
|
<TextBox Text="{Binding Variable.AlarmMaxValue, UpdateSourceTrigger=PropertyChanged}" />
|
|
|
|
<CheckBox Content="是否报警"
|
|
FontSize="16"
|
|
Margin="0 5"
|
|
IsChecked="{Binding Variable.IsAlarmEnabled, UpdateSourceTrigger=PropertyChanged}" />
|
|
</ikw:SimpleStackPanel>
|
|
</GroupBox>
|
|
</ikw:SimpleStackPanel>
|
|
|
|
<ikw:SimpleStackPanel Grid.Row="0" Grid.Column="2" Width="100">
|
|
|
|
</ikw:SimpleStackPanel>
|
|
|
|
</Grid>
|
|
</ui:ContentDialog> |