schangxiang@126.com
2025-11-04 f5ed29dc26c7cd952d56ec5721a2efc43cd25992
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<UserControl x:Class="XHandler.View.MethodProperty.ThirdPartPropertySocketProperty"
             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:local="clr-namespace:XHandler.View.BacteriaProperty"
             xmlns:str="clr-namespace:XHandler.Properties"
             xmlns:ctrls="clr-namespace:XHandler.Controls"
             mc:Ignorable="d" 
             d:DesignHeight="450" d:DesignWidth="800" Loaded="UserControl_Loaded">
    <ScrollViewer x:Name="scrollViewer">
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition Height="40"/>
                <RowDefinition Height="40"/>
                <RowDefinition Height="40"/>
                <RowDefinition Height="40"/>
                
                <!--5-->
                <RowDefinition Height="auto"/>
                <RowDefinition Height="10"/>
                <RowDefinition Height="auto"/>
                
                <RowDefinition Height="auto"/>
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="130"/>
                <ColumnDefinition Width="330"/>
                <ColumnDefinition Width="*"/>
            </Grid.ColumnDefinitions>
 
            <!--命令标签-->
            <TextBlock Grid.Row="0" Grid.Column="0" Text="{x:Static str:Resources.strCommandTag}" FontSize="16"
                   VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5 0 15 0"/>
            <TextBox Grid.Row="0" Grid.Column="1"  x:Name="tbxCommandLabel" Height="30" FontSize="16" VerticalContentAlignment="Center" BorderThickness="0" Background="{DynamicResource lightGrayBrush}"
                 Text="{Binding label, Mode=TwoWay}" TextChanged="tbxCommandLabel_TextChanged" IsEnabled="False"/>
 
            <!--命令名称-->
            <TextBlock Grid.Row="1" Grid.Column="0" Text="{x:Static str:Resources.strCommandName}" FontSize="16" 
                   VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5 0 15 0"/>
            <TextBox x:Name="tbxCommandName" Grid.Row="1" Grid.Column="1" Height="30" FontSize="16" VerticalContentAlignment="Center" Background="{DynamicResource lightGrayBrush}"
                     BorderThickness="0" TextChanged="tbxCommandName_TextChanged" >
                <TextBox.Text>
                    <Binding Path="name" Mode="TwoWay" UpdateSourceTrigger="PropertyChanged" NotifyOnValidationError="True" >
                        <Binding.ValidationRules>
                            <local:BacteriaPropertyValidationRule  ValidateType="1,6@[100]"/>
                        </Binding.ValidationRules>
                    </Binding>
                </TextBox.Text>
            </TextBox>
            <TextBlock Grid.Row="1" Grid.Column="2" x:Name="nError" Text="{Binding  ElementName=tbxCommandName,Path=(Validation.Errors)[0].ErrorContent}" Foreground="Red" FontSize="16" 
                   VerticalAlignment="Center" HorizontalAlignment="Right" Margin="5 5 5 0"/>
 
            <!--设备方法-->
            <TextBlock Grid.Row="2" Grid.Column="0" Text="{x:Static str:Resources.strDeviceMethod}" FontSize="16" 
                   VerticalAlignment="Center" HorizontalAlignment="Right" Margin="0 0 15 0"/>
            <ComboBox x:Name="cbDeviceMethod" Grid.Row="2" Grid.Column="1" Height="30" BorderThickness="0" Background="{DynamicResource lightGrayBrush}"
                      DisplayMemberPath="ParameterName" SelectedValuePath="Id" SelectionChanged="cbDeviceMethod_SelectionChanged" IsEditable="False"/>
 
            <!--方法参数设置-->
            <TextBlock Grid.Row="3" Grid.Column="0" Text="{x:Static str:Resources.strMethodParametersSetting}" FontSize="16" 
                   VerticalAlignment="Center" HorizontalAlignment="Right" Margin="0 0 15 0"/>
 
            <Expander Header="发送参数" Style="{DynamicResource MethodParamterExpanderStyle}" IsExpanded="True" Grid.Row="4" Grid.Column="1" Grid.ColumnSpan="2">
                <StackPanel x:Name="panelSendParamters" Orientation="Vertical"></StackPanel>
            </Expander>
 
            <Expander Header="接收参数" Style="{DynamicResource MethodParamterExpanderStyle}" IsExpanded="True" Grid.Row="6" Grid.Column="1" Grid.ColumnSpan="2">
                <StackPanel x:Name="panelReceiveParamters" Orientation="Vertical"></StackPanel>
            </Expander>
            
        </Grid>
    </ScrollViewer>
</UserControl>