Files
DMS/DMS.WPF/Views/Dialogs/VarDataDialog.xaml

133 lines
7.0 KiB
XML

<ui:ContentDialog x:Class="DMS.WPF.Views.Dialogs.VarDataDialog"
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:vc="clr-namespace:DMS.ValueConverts"
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"
Title="{Binding Title}"
CloseButtonText="取消"
DefaultButton="Primary"
PrimaryButtonText="{Binding PrimaryButtonText}"
Background="#fff"
d:DataContext="{d:DesignInstance vmd:VarDataDialogViewModel}"
mc:Ignorable="d">
<ui:ContentDialog.Resources>
<vc:EnumDescriptionConverter x:Key="EnumDescriptionConverter" />
</ui:ContentDialog.Resources>
<Grid Margin="10" Width="480">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<!-- <Grid.RowDefinitions> -->
<!-- <RowDefinition Height="Auto" /> -->
<!-- <RowDefinition Height="Auto" /> -->
<!-- </Grid.RowDefinitions> -->
<!-- 基本信息 -->
<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 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.NodeId, UpdateSourceTrigger=PropertyChanged}" />
<TextBlock Text="协议类型"
Style="{StaticResource TextBlockSubTitle}" />
<ComboBox SelectedValue="{Binding Variable.ProtocolType, 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.DataType, 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.PollLevelType, 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 Text="{Binding Variable.SaveRange, 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.IsSave, 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.AlarmMin, UpdateSourceTrigger=PropertyChanged}" />
<TextBlock Text="报警最大值"
Style="{StaticResource TextBlockSubTitle}" />
<TextBox Text="{Binding Variable.AlarmMax, UpdateSourceTrigger=PropertyChanged}" />
<CheckBox Content="是否报警"
FontSize="16"
Margin="0 5"
IsChecked="{Binding Variable.IsAlarm, UpdateSourceTrigger=PropertyChanged}" />
</ikw:SimpleStackPanel>
</GroupBox>
</ikw:SimpleStackPanel>
</Grid>
</ui:ContentDialog>