GrooveComputerPage.xaml 11.4 KB
<Page
    x:Class="HHECS.RobotTool.View.GrooveComputerPage"
    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:hc="https://handyorg.github.io/handycontrol"
    xmlns:local="clr-namespace:HHECS.RobotTool.View"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:viewmodel="clr-namespace:HHECS.RobotTool.ViewModel"
    xmlns:wv2="clr-namespace:Microsoft.Web.WebView2.Wpf;assembly=Microsoft.Web.WebView2.Wpf"
    Title="GrooveComputerPage"
    d:DataContext="{d:DesignInstance Type=viewmodel:GrooveComputerVM}"
    d:DesignHeight="450"
    d:DesignWidth="800"
    mc:Ignorable="d">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition Height="Auto" />
            <RowDefinition />
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition />
            <ColumnDefinition />
        </Grid.ColumnDefinitions>
        <GroupBox
            Grid.Row="0"
            Grid.ColumnSpan="2"
            Padding="5"
            hc:TitleElement.TitlePlacement="Left"
            Header="输入参数"
            Style="{StaticResource GroupBoxTab.Small}">
            <Border Background="{DynamicResource RegionBrush}" CornerRadius="4">
                <hc:UniformSpacingPanel ChildWrapping="Wrap" Spacing="10">
                    <hc:ElementGroup
                        Height="30"
                        Margin="0,1"
                        VerticalAlignment="Center"
                        Layout="Stack">
                        <Border Padding="6,0" Style="{StaticResource BorderRegion}">
                            <TextBlock VerticalAlignment="Center" Text="坡口宽度(mm)" />
                        </Border>
                        <TextBox MinWidth="104" Text="{Binding InputParameter.GrooveWidth, UpdateSourceTrigger=PropertyChanged}" />
                    </hc:ElementGroup>
                    <hc:ElementGroup
                        Height="30"
                        VerticalAlignment="Center"
                        Layout="Stack">
                        <Border Padding="6,0" Style="{StaticResource BorderRegion}">
                            <TextBlock VerticalAlignment="Center" Text="坡口深度(mm)" />
                        </Border>
                        <TextBox
                            MinWidth="104"
                            HorizontalAlignment="Stretch"
                            Text="{Binding InputParameter.GrooveDepth, UpdateSourceTrigger=PropertyChanged}" />
                    </hc:ElementGroup>
                    <hc:ElementGroup
                        Height="30"
                        VerticalAlignment="Center"
                        Layout="Stack">
                        <Border Padding="6,0" Style="{StaticResource BorderRegion}">
                            <TextBlock VerticalAlignment="Center" Text="盖面后单边所需增加余宽(mm)" />
                        </Border>
                        <TextBox
                            MinWidth="60"
                            HorizontalAlignment="Stretch"
                            Text="{Binding InputParameter.WeldWidth, UpdateSourceTrigger=PropertyChanged}" />
                    </hc:ElementGroup>
                    <hc:ElementGroup
                        Height="30"
                        VerticalAlignment="Center"
                        Layout="Stack">
                        <Border Padding="6,0" Style="{StaticResource BorderRegion}">
                            <TextBlock VerticalAlignment="Center" Text="单层焊接高度(mm)" />
                        </Border>
                        <TextBox
                            MinWidth="123"
                            HorizontalAlignment="Stretch"
                            Text="{Binding InputParameter.OneWeldHeight, UpdateSourceTrigger=PropertyChanged}" />
                    </hc:ElementGroup>
                    <hc:ElementGroup
                        Height="30"
                        VerticalAlignment="Center"
                        Layout="Stack">
                        <Border Padding="6,0" Style="{StaticResource BorderRegion}">
                            <TextBlock VerticalAlignment="Center" Text="盖面后所需焊缝余高(mm)" />
                        </Border>
                        <TextBox
                            MinWidth="83"
                            HorizontalAlignment="Stretch"
                            Text="{Binding InputParameter.WeldHeight, UpdateSourceTrigger=PropertyChanged}" />
                    </hc:ElementGroup>
                    <hc:ElementGroup
                        Height="30"
                        VerticalAlignment="Center"
                        Layout="Stack">
                        <Border Padding="6,0" Style="{StaticResource BorderRegion}">
                            <TextBlock VerticalAlignment="Center" Text="焊丝直径(mm)" />
                        </Border>
                        <TextBox
                            MinWidth="104"
                            HorizontalAlignment="Stretch"
                            Text="{Binding InputParameter.WeldingWire, UpdateSourceTrigger=PropertyChanged}" />
                    </hc:ElementGroup>
                    <hc:ElementGroup
                        Height="30"
                        VerticalAlignment="Center"
                        Layout="Stack">
                        <Border Padding="6,0" Style="{StaticResource BorderRegion}">
                            <TextBlock VerticalAlignment="Center" Text="焊缝长度(mm)" />
                        </Border>
                        <TextBox
                            MinWidth="147"
                            HorizontalAlignment="Stretch"
                            Text="{Binding InputParameter.WeldLength, UpdateSourceTrigger=PropertyChanged}" />
                    </hc:ElementGroup>
                    <hc:ElementGroup
                        Height="30"
                        VerticalAlignment="Center"
                        Layout="Stack">
                        <Border Padding="6,0" Style="{StaticResource BorderRegion}">
                            <TextBlock VerticalAlignment="Center" Text="打底送丝速度(mm/s)" />
                        </Border>
                        <TextBox
                            MinWidth="147"
                            HorizontalAlignment="Stretch"
                            Text="{Binding InputParameter.OneLayerWireFeedingSpeed, UpdateSourceTrigger=PropertyChanged}" />
                    </hc:ElementGroup>
                    <hc:ElementGroup
                        Height="30"
                        VerticalAlignment="Center"
                        Layout="Stack">
                        <Border Padding="6,0" Style="{StaticResource BorderRegion}">
                            <TextBlock VerticalAlignment="Center" Text="盖面送丝速度(mm/s)" />
                        </Border>
                        <TextBox
                            MinWidth="147"
                            HorizontalAlignment="Stretch"
                            Text="{Binding InputParameter.WireFeedingSpeed, UpdateSourceTrigger=PropertyChanged}" />
                    </hc:ElementGroup>
                    <Button
                        hc:IconElement.Geometry="{StaticResource SearchGeometry}"
                        Command="{Binding ComputerCommand}"
                        Content="计算"
                        Style="{StaticResource ButtonPrimary}" />
                    <Button
                        hc:IconElement.Geometry="{StaticResource RotateLeftGeometry}"
                        Command="{Binding ResetCommand}"
                        Content="重置"
                        Style="{StaticResource ButtonDefault}" />
                </hc:UniformSpacingPanel>
            </Border>
        </GroupBox>
        <GroupBox
            Grid.Row="1"
            Grid.ColumnSpan="2"
            Margin="0,2"
            Padding="5"
            hc:TitleElement.TitlePlacement="Left"
            Header="输出参数"
            Style="{StaticResource GroupBoxTab.Small}">
            <Border Background="{DynamicResource RegionBrush}" CornerRadius="4">
                <hc:UniformSpacingPanel
                    VerticalAlignment="Center"
                    ChildWrapping="Wrap"
                    Spacing="10">
                    <hc:ElementGroup
                        Height="30"
                        Margin="0,1"
                        VerticalAlignment="Center"
                        Layout="Stack">
                        <Border Padding="6,0" Style="{StaticResource BorderRegion}">
                            <TextBlock VerticalAlignment="Center" Text="层数" />
                        </Border>
                        <TextBox
                            MinWidth="205"
                            IsEnabled="False"
                            IsReadOnly="True"
                            Text="{Binding OutputParameter.Layers, UpdateSourceTrigger=PropertyChanged}" />
                    </hc:ElementGroup>
                    <hc:ElementGroup
                        Height="30"
                        Margin="0,1"
                        VerticalAlignment="Center"
                        Layout="Stack">
                        <Border Padding="6,0" Style="{StaticResource BorderRegion}">
                            <TextBlock VerticalAlignment="Center" Text="焊接道数" />
                        </Border>
                        <TextBox
                            MinWidth="110"
                            IsEnabled="False"
                            IsReadOnly="True"
                            Text="{Binding WeldMonitorDataGrids.Count, UpdateSourceTrigger=PropertyChanged, Mode=OneWay}" />
                    </hc:ElementGroup>
                </hc:UniformSpacingPanel>
            </Border>
        </GroupBox>

        <DataGrid
            Grid.Row="2"
            Grid.Column="0"
            hc:DataGridAttach.ShowRowNumber="True"
            AutoGenerateColumns="False"
            HeadersVisibility="All"
            IsReadOnly="True"
            ItemsSource="{Binding WeldMonitorDataGrids}"
            RowHeaderWidth="60"
            Style="{StaticResource DataGrid.Small}">
            <DataGrid.Columns>
                <DataGridTextColumn
                    Binding="{Binding LayerChannel}"
                    Header="层-道"
                    IsReadOnly="True" />
                <DataGridTextColumn Binding="{Binding LayerHeight, StringFormat={}{0}mm}" Header="层高" />
                <DataGridTextColumn Binding="{Binding StartingPoint}" Header="焊接起点" />
                <DataGridTextColumn Binding="{Binding EndingPoint}" Header="焊接终点" />
                <DataGridTextColumn Binding="{Binding WeldSpeed, StringFormat={}{0}mm/s}" Header="焊接速度" />
                <DataGridTextColumn Binding="{Binding Amplitude, StringFormat={}{0}mm}" Header="振幅" />
                <DataGridTextColumn Binding="{Binding SwingFrequency, StringFormat={}{0}Hz}" Header="摆动频率" />
                <DataGridTextColumn Binding="{Binding LeftAndRightDwellTime, StringFormat={}{0}s}" Header="左右停留时间" />
            </DataGrid.Columns>
        </DataGrid>
        <wv2:WebView2
            x:Name="webView"
            Grid.Row="2"
            Grid.Column="1"
            Source="{Binding MonitorSource}" />
    </Grid>
</Page>