| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313 |
- <UserControl x:Class="TeamAAS_VP.Views.Setting.AddRobot"
- 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:valRules="clr-namespace:TeamAAS_VP.Identity"
- xmlns:ext="clr-namespace:TeamAAS_VP.Extension"
- xmlns:c="clr-namespace:TeamAAS_VP.ValueConverter"
- 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:AddRobotViewModel}"
- prism:ViewModelLocator.AutoWireViewModel="True"
- FontFamily="{DynamicResource DefaultFont}">
- <prism:Dialog.WindowStyle>
- <Style TargetType="Window">
- <Setter Property="prism:Dialog.WindowStartupLocation"
- Value="CenterScreen" />
- <!--<Setter Property="WindowChrome.WindowChrome">
- <Setter.Value>
- <WindowChrome CaptionHeight="0"
- ResizeBorderThickness="1" />
- </Setter.Value>
- </Setter>-->
- <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>
- <UserControl.Resources>
- <c:RobotBrandToVisibiltyConverter x:Key="RobotBrandToVisibiltyConverter" />
- <c:RobotBrandToVisibiltyConverter x:Key="RobotBrandToVisibiltyConverterInverse"
- Inverse="True" />
- </UserControl.Resources>
- <Grid HorizontalAlignment="Center">
- <Grid.RowDefinitions>
- <RowDefinition Height="*" />
- <RowDefinition Height="50" />
- </Grid.RowDefinitions>
- <!--参数详情-->
- <Grid Margin="20,20">
- <Grid.RowDefinitions>
- <RowDefinition />
- <RowDefinition />
- <RowDefinition />
- <RowDefinition />
- <RowDefinition />
- <RowDefinition />
- <RowDefinition />
- <RowDefinition />
- </Grid.RowDefinitions>
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="50*" />
- <ColumnDefinition Width="50*" />
- </Grid.ColumnDefinitions>
- <!--id-->
- <TextBlock Text="Id: "
- Grid.Row="0"
- Grid.Column="0"
- Style="{StaticResource MaterialDesignSubtitle1TextBlock}"
- HorizontalAlignment="Right"
- VerticalAlignment="Center" />
- <TextBlock x:Name="txt_Id"
- Text="{Binding Robot.Id,Mode=TwoWay}"
- Grid.Row="0"
- Grid.Column="1"
- Margin="10,5"
- 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,5"
- Width="{Binding ElementName=txt_Id,Path=ActualWidth}"
- MinWidth="80"
- TextAlignment="Center"
- HorizontalAlignment="Left"
- VerticalAlignment="Center">
- <TextBox.Text>
- <Binding Path="Robot.RobotName"
- 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 Robot.RobotBrand,Mode=TwoWay}"
- Grid.Row="2"
- Grid.Column="1"
- Margin="10,5"
- Width="{Binding ElementName=txt_Id,Path=ActualWidth}"
- MinWidth="80"
- HorizontalContentAlignment="Center"
- ItemsSource="{ext:EnumBindingSource EnumType=enums:RobotBrand}"
- HorizontalAlignment="Left"
- VerticalAlignment="Center" />
- <!--通讯方式-->
- <TextBlock Text="{lex:Loc 通讯方式,Converter={StaticResource StringFormatConverter},ConverterParameter='{}{0}: '}"
- Grid.Row="3"
- Grid.Column="0"
- Style="{StaticResource MaterialDesignSubtitle1TextBlock}"
- HorizontalAlignment="Right"
- VerticalAlignment="Center"
- Visibility="{Binding Robot.RobotBrand,Converter={StaticResource RobotBrandToVisibiltyConverter}}" />
- <ComboBox SelectedItem="{Binding Robot.ConnectType,Mode=TwoWay}"
- Grid.Row="3"
- Grid.Column="1"
- Margin="10,5"
- Width="{Binding ElementName=txt_Id,Path=ActualWidth}"
- MinWidth="80"
- HorizontalContentAlignment="Center"
- ItemsSource="{ext:EnumBindingSource EnumType=enums:TCPConnectType}"
- HorizontalAlignment="Left"
- VerticalAlignment="Center"
- Visibility="{Binding Robot.RobotBrand,Converter={StaticResource RobotBrandToVisibiltyConverter}}" />
- <!--IP地址-->
- <TextBlock Text="IP: "
- Grid.Row="4"
- Grid.Column="0"
- Style="{StaticResource MaterialDesignSubtitle1TextBlock}"
- HorizontalAlignment="Right"
- VerticalAlignment="Center"
- Visibility="{Binding Robot.RobotBrand,Converter={StaticResource RobotBrandToVisibiltyConverter}}" />
- <TextBox x:Name="txt_IP"
- Grid.Row="4"
- Grid.Column="1"
- Margin="10,5"
- Width="{Binding ElementName=txt_Id,Path=ActualWidth}"
- MinWidth="80"
- TextAlignment="Center"
- HorizontalAlignment="Left"
- VerticalAlignment="Center"
- Visibility="{Binding Robot.RobotBrand,Converter={StaticResource RobotBrandToVisibiltyConverter}}">
- <TextBox.Text>
- <Binding Path="Robot.IP"
- Mode="TwoWay">
- <Binding.ValidationRules>
- <valRules:IPValidationRule />
- </Binding.ValidationRules>
- </Binding>
- </TextBox.Text>
- </TextBox>
- <!--端口号-->
- <TextBlock Text="Port: "
- Grid.Row="5"
- Grid.Column="0"
- Style="{StaticResource MaterialDesignSubtitle1TextBlock}"
- HorizontalAlignment="Right"
- VerticalAlignment="Center"
- Visibility="{Binding Robot.RobotBrand,Converter={StaticResource RobotBrandToVisibiltyConverter}}" />
- <TextBox x:Name="txt_Port"
- Grid.Row="5"
- Grid.Column="1"
- Margin="10,5"
- Width="{Binding ElementName=txt_Id,Path=ActualWidth}"
- MinWidth="80"
- TextAlignment="Center"
- HorizontalAlignment="Left"
- VerticalAlignment="Center"
- Visibility="{Binding Robot.RobotBrand,Converter={StaticResource RobotBrandToVisibiltyConverter}}">
- <TextBox.Text>
- <Binding Path="Robot.Port"
- Mode="TwoWay">
- <Binding.ValidationRules>
- <valRules:PortValidationRule />
- </Binding.ValidationRules>
- </Binding>
- </TextBox.Text>
- </TextBox>
- <!--结束符-->
- <TextBlock Text="{lex:Loc 结束符,Converter={StaticResource StringFormatConverter},ConverterParameter='{}{0}: '}"
- Grid.Row="6"
- Grid.Column="0"
- Style="{StaticResource MaterialDesignSubtitle1TextBlock}"
- HorizontalAlignment="Right"
- VerticalAlignment="Center"
- Visibility="{Binding Robot.RobotBrand,Converter={StaticResource RobotBrandToVisibiltyConverter}}" />
- <ComboBox SelectedItem="{Binding Robot.Terminator,Mode=TwoWay}"
- Grid.Row="6"
- Grid.Column="1"
- Margin="10,5"
- Width="{Binding ElementName=txt_Id,Path=ActualWidth}"
- MinWidth="80"
- HorizontalContentAlignment="Center"
- ItemsSource="{ext:EnumBindingSource EnumType=enums:Terminator}"
- HorizontalAlignment="Left"
- VerticalAlignment="Center"
- Visibility="{Binding Robot.RobotBrand,Converter={StaticResource RobotBrandToVisibiltyConverter}}" />
- <!--编码格式-->
- <TextBlock Text="{lex:Loc 编码解码,Converter={StaticResource StringFormatConverter},ConverterParameter='{}{0}: '}"
- Grid.Row="7"
- Grid.Column="0"
- Style="{StaticResource MaterialDesignSubtitle1TextBlock}"
- HorizontalAlignment="Right"
- VerticalAlignment="Center"
- Visibility="{Binding Robot.RobotBrand,Converter={StaticResource RobotBrandToVisibiltyConverter}}" />
- <ComboBox SelectedItem="{Binding Robot.DataEncoding,Mode=TwoWay}"
- Grid.Row="7"
- Grid.Column="1"
- Margin="10,5"
- Width="{Binding ElementName=txt_Id,Path=ActualWidth}"
- MinWidth="80"
- ItemsSource="{ext:EnumBindingSource EnumType=enums:DataEncoding}"
- HorizontalContentAlignment="Center"
- HorizontalAlignment="Left"
- VerticalAlignment="Center"
- Visibility="{Binding Robot.RobotBrand,Converter={StaticResource RobotBrandToVisibiltyConverter}}" />
- <!--PLC-->
- <TextBlock Grid.Row="3"
- Grid.Column="0"
- Text="PLC: "
- HorizontalAlignment="Right"
- VerticalAlignment="Center"
- d:Visibility="Collapsed"
- Visibility="{Binding Robot.RobotBrand,Converter={StaticResource RobotBrandToVisibiltyConverterInverse}}" />
- <ComboBox SelectedItem="{Binding SelectedPlc}"
- Grid.Row="3"
- Grid.Column="1"
- Margin="10,5"
- ItemsSource="{Binding AllPlc}"
- Width="{Binding ElementName=txt_Id,Path=ActualWidth}"
- MinWidth="80"
- HorizontalContentAlignment="Center"
- HorizontalAlignment="Left"
- VerticalAlignment="Center"
- d:Visibility="Collapsed"
- Visibility="{Binding Robot.RobotBrand,Converter={StaticResource RobotBrandToVisibiltyConverterInverse}}">
- <ComboBox.ItemTemplate>
- <DataTemplate>
- <TextBlock Text="{Binding Name}" />
- </DataTemplate>
- </ComboBox.ItemTemplate>
- </ComboBox>
- </Grid>
- <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>
- <!-- 当且仅当IP地址合规且其他条件满足时,启用按钮 -->
- <Condition Binding="{Binding ElementName=txt_IP, Path=(Validation.HasError)}"
- Value="False" />
- <Condition Binding="{Binding ElementName=txt_Name, Path=(Validation.HasError)}"
- Value="False" />
- <Condition Binding="{Binding ElementName=txt_Port, 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>
|