| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180 |
- <UserControl x:Class="TeamAAS_VP.Views.Setting.AddPlc"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:prism="http://prismlibrary.com/"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
- xmlns:b="http://schemas.microsoft.com/xaml/behaviors"
- xmlns:sys="clr-namespace:System;assembly=mscorlib"
- xmlns:enums="clr-namespace:TeamAAS_VP.Enums"
- xmlns:convert="clr-namespace:TeamAAS_VP.ValueConverter"
- xmlns:valRules="clr-namespace:TeamAAS_VP.Identity"
- xmlns:validationRule="clr-namespace:TeamAAS_VP.ValidationRules"
- xmlns:ext="clr-namespace:TeamAAS_VP.Extension"
- xmlns:lex="http://wpflocalizeextension.codeplex.com"
- xmlns:vm="clr-namespace:TeamAAS_VP.ViewModels.Setting"
- lex:LocalizeDictionary.DesignCulture="zh-CN"
- lex:ResxLocalizationProvider.DefaultAssembly="TeamAAS-VP"
- lex:ResxLocalizationProvider.DefaultDictionary="Lang"
- mc:Ignorable="d"
- d:Background="White"
- d:DataContext="{d:DesignInstance Type=vm:AddPlcViewModel}"
- prism:ViewModelLocator.AutoWireViewModel="True"
- FontFamily="{DynamicResource DefaultFont}">
- <UserControl.Resources>
- <convert:CommunicationTypeVisibilityConverter x:Key="CommunicationTypeVisibilityConverter" />
- </UserControl.Resources>
- <prism:Dialog.WindowStyle>
- <Style TargetType="Window">
- <Setter Property="prism:Dialog.WindowStartupLocation" Value="CenterScreen" />
- <Setter Property="WindowStyle" Value="None" />
- <Setter Property="AllowDrop" Value="True" />
- <Setter Property="BorderThickness" Value="0" />
- <Setter Property="ShowInTaskbar" Value="False" />
- <Setter Property="SizeToContent" Value="WidthAndHeight" />
- <Setter Property="WindowState" Value="Normal" />
- <Setter Property="Topmost" Value="True" />
- </Style>
- </prism:Dialog.WindowStyle>
- <Grid HorizontalAlignment="Center" MinWidth="520">
- <Grid.RowDefinitions>
- <RowDefinition Height="*" />
- <RowDefinition Height="50" />
- </Grid.RowDefinitions>
- <ScrollViewer Grid.Row="0" Margin="20,20" MaxHeight="520" VerticalScrollBarVisibility="Auto">
- <StackPanel>
- <Grid>
- <Grid.RowDefinitions>
- <RowDefinition MinHeight="40" />
- <RowDefinition MinHeight="40" />
- <RowDefinition MinHeight="40" />
- </Grid.RowDefinitions>
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="120" />
- <ColumnDefinition Width="*" />
- </Grid.ColumnDefinitions>
- <TextBlock Text="Id: " Grid.Row="0" Grid.Column="0"
- Style="{StaticResource MaterialDesignSubtitle1TextBlock}"
- HorizontalAlignment="Right" VerticalAlignment="Center" />
- <TextBlock x:Name="txt_Id" Text="{Binding SelectedPlc.Id,Mode=TwoWay}"
- Grid.Row="0" Grid.Column="1" Margin="10,0"
- HorizontalAlignment="Left" VerticalAlignment="Center" />
- <TextBlock Text="{lex:Loc 名称,Converter={StaticResource StringFormatConverter},ConverterParameter='{}{0}: '}"
- Grid.Row="1" Grid.Column="0"
- Style="{StaticResource MaterialDesignSubtitle1TextBlock}"
- HorizontalAlignment="Right" VerticalAlignment="Center" />
- <TextBox x:Name="txt_Name" Grid.Row="1" Grid.Column="1" Margin="10,0"
- MinWidth="200" TextAlignment="Center"
- HorizontalAlignment="Left" VerticalAlignment="Center">
- <TextBox.Text>
- <Binding Path="SelectedPlc.Name" Mode="TwoWay">
- <Binding.ValidationRules>
- <valRules:NameValidationRule />
- </Binding.ValidationRules>
- </Binding>
- </TextBox.Text>
- </TextBox>
- <TextBlock Text="{lex:Loc 通讯方式,Converter={StaticResource StringFormatConverter},ConverterParameter='{}{0}: '}"
- Grid.Row="2" Grid.Column="0"
- Style="{StaticResource MaterialDesignSubtitle1TextBlock}"
- HorizontalAlignment="Right" VerticalAlignment="Center" />
- <ComboBox SelectedItem="{Binding SelectedPlc.CommunicationType,Mode=TwoWay}"
- Grid.Row="2" Grid.Column="1" Margin="10,0" MinWidth="200"
- ItemsSource="{ext:EnumBindingSource EnumType=enums:CommunicationType}"
- HorizontalContentAlignment="Center"
- HorizontalAlignment="Left" VerticalAlignment="Center" />
- </Grid>
- <Grid Margin="0,12,0,0"
- Visibility="{Binding SelectedPlc.CommunicationType, Converter={StaticResource CommunicationTypeVisibilityConverter}, ConverterParameter=OPC_UA_Client}">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="120" />
- <ColumnDefinition Width="*" />
- </Grid.ColumnDefinitions>
- <TextBlock Text="Endpoint Url: "
- Style="{StaticResource MaterialDesignSubtitle1TextBlock}"
- HorizontalAlignment="Right" VerticalAlignment="Center" />
- <TextBox Grid.Column="1" Margin="10,0" MinWidth="200"
- TextAlignment="Center" HorizontalAlignment="Left"
- Text="{Binding SelectedPlc.EndpointUrl}" />
- </Grid>
- <StackPanel Margin="0,12,0,0"
- Visibility="{Binding SelectedPlc.CommunicationType, Converter={StaticResource CommunicationTypeVisibilityConverter}, ConverterParameter=Mitsubishi_MC}">
- <Grid>
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="120" />
- <ColumnDefinition Width="*" />
- <ColumnDefinition Width="120" />
- <ColumnDefinition Width="*" />
- </Grid.ColumnDefinitions>
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto" />
- <RowDefinition Height="Auto" />
- </Grid.RowDefinitions>
- <TextBlock Text="PLC IP:" VerticalAlignment="Center" HorizontalAlignment="Right" />
- <TextBox Grid.Column="1" Margin="8,4" Text="{Binding SelectedPlc.PlcIp, Mode=TwoWay}" />
- <TextBlock Grid.Column="2" Text="端口:" VerticalAlignment="Center" HorizontalAlignment="Right" />
- <TextBox Grid.Column="3" Margin="8,4" Text="{Binding SelectedPlc.PlcPort, Mode=TwoWay}" />
- <TextBlock Grid.Row="1" Text="心跳地址:" VerticalAlignment="Center" HorizontalAlignment="Right" />
- <TextBox Grid.Row="1" Grid.Column="1" Margin="8,4" Text="{Binding SelectedPlc.PlcHeartbeatDevice, Mode=TwoWay}" />
- <TextBlock Grid.Row="1" Grid.Column="2" Text="心跳间隔ms:" VerticalAlignment="Center" HorizontalAlignment="Right" />
- <TextBox Grid.Row="1" Grid.Column="3" Margin="8,4" Text="{Binding SelectedPlc.PlcHeartbeatIntervalMs, Mode=TwoWay}" />
- </Grid>
- <CheckBox Margin="0,8,0,0"
- Content="启用 Ready 握手"
- IsChecked="{Binding SelectedPlc.PlcForwardEnabled, Mode=TwoWay}" />
- <GroupBox Header="握手映射" Margin="0,8,0,0">
- <Grid Margin="8">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="120" />
- <ColumnDefinition Width="*" />
- </Grid.ColumnDefinitions>
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto" />
- <RowDefinition Height="Auto" />
- <RowDefinition Height="Auto" />
- <RowDefinition Height="Auto" />
- </Grid.RowDefinitions>
- <TextBlock Text="端口(PLC→PC):" VerticalAlignment="Center" HorizontalAlignment="Right" />
- <TextBox Grid.Column="1" Margin="8,4" Text="{Binding SelectedPlc.PlcPortDevice, Mode=TwoWay}" />
- <TextBlock Grid.Row="1" Text="数据起始:" VerticalAlignment="Center" HorizontalAlignment="Right" />
- <TextBox Grid.Row="1" Grid.Column="1" Margin="8,4" Text="{Binding SelectedPlc.PlcDataStartDevice, Mode=TwoWay}" />
- <TextBlock Grid.Row="2" Text="Ready:" VerticalAlignment="Center" HorizontalAlignment="Right" />
- <TextBox Grid.Row="2" Grid.Column="1" Margin="8,4" Text="{Binding SelectedPlc.PlcReadyBitDevice, Mode=TwoWay}" />
- <TextBlock Grid.Row="3" Text="Receive:" VerticalAlignment="Center" HorizontalAlignment="Right" />
- <TextBox Grid.Row="3" Grid.Column="1" Margin="8,4" Text="{Binding SelectedPlc.PlcReceiveBitDevice, Mode=TwoWay}" />
- </Grid>
- </GroupBox>
- </StackPanel>
- </StackPanel>
- </ScrollViewer>
- <StackPanel Grid.Row="1" Orientation="Horizontal" HorizontalAlignment="Right">
- <Button Height="30" materialDesign:ButtonAssist.CornerRadius="10"
- ToolTip="{lex:Loc 确定}" Command="{Binding ConfirmCommand}">
- <TextBlock Text="{lex:Loc 确定}" />
- <Button.Style>
- <Style TargetType="Button" BasedOn="{StaticResource MaterialDesignRaisedButton}">
- <Style.Triggers>
- <MultiDataTrigger>
- <MultiDataTrigger.Conditions>
- <Condition Binding="{Binding ElementName=txt_Name, Path=(Validation.HasError)}" Value="False" />
- </MultiDataTrigger.Conditions>
- <Setter Property="IsEnabled" Value="True" />
- </MultiDataTrigger>
- </Style.Triggers>
- </Style>
- </Button.Style>
- </Button>
- <Button Height="30" Margin="20,0"
- materialDesign:ButtonAssist.CornerRadius="10"
- Style="{StaticResource MaterialDesignRaisedButton}"
- ToolTip="{lex:Loc 取消}" Command="{Binding CancelCommand}">
- <TextBlock Text="{lex:Loc 取消}" />
- </Button>
- </StackPanel>
- </Grid>
- </UserControl>
|