RobotConfigView.xaml 7.8 KB
<Window
    x:Class="HHECS.RobotTool.View.RobotConfigView.RobotConfigView"
    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.RobotConfigView"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:viewmodel="clr-namespace:HHECS.RobotTool.ViewModel.RobotConfigVM"
    Title="基础参数配置"
    d:DataContext="{d:DesignInstance Type=viewmodel:RobotConfigVM}"
    d:DesignHeight="450"
    d:DesignWidth="800"
    WindowStartupLocation="CenterScreen"
    mc:Ignorable="d">
    <DockPanel>
        <StackPanel DockPanel.Dock="Top">
            <hc:UniformSpacingPanel Spacing="10">
                <hc:ElementGroup
                    Height="30"
                    Margin="0,1"
                    VerticalAlignment="Center"
                    Layout="Stack">
                    <Border Padding="6,0" Style="{StaticResource BorderRegion}">
                        <TextBlock
                            Width="50"
                            VerticalAlignment="Center"
                            Text="编号" />
                    </Border>
                    <TextBox MinWidth="150" Text="{Binding Code, UpdateSourceTrigger=PropertyChanged}" />
                </hc:ElementGroup>
                <hc:ElementGroup
                    Height="30"
                    VerticalAlignment="Center"
                    Layout="Stack">
                    <Border Padding="6,0" Style="{StaticResource BorderRegion}">
                        <TextBlock
                            Width="50"
                            VerticalAlignment="Center"
                            Text="名称" />
                    </Border>
                    <TextBox MinWidth="150" Text="{Binding Name, UpdateSourceTrigger=PropertyChanged}" />
                </hc:ElementGroup>
            </hc:UniformSpacingPanel>
            <ToolBar
                Margin="0,1"
                Padding="4"
                HorizontalAlignment="Right">
                <hc:UniformSpacingPanel Spacing="5">
                    <Button
                        hc:IconElement.Geometry="{StaticResource SearchGeometry}"
                        Command="{Binding SerachCommand}"
                        Content="搜索"
                        Style="{StaticResource ButtonDefault}"
                        Visibility="{Binding BtnPairs[QueryBtn]}" />
                    <Button
                        hc:IconElement.Geometry="{StaticResource AddGeometry}"
                        Command="{Binding AddCommand}"
                        Content="新增"
                        Style="{StaticResource ButtonDefault}"
                        Visibility="{Binding BtnPairs[CreateBtn]}" />
                    <Button
                        hc:IconElement.Geometry="{StaticResource DeleteFillCircleGeometry}"
                        Command="{Binding BatchDeleteCommand}"
                        CommandParameter="{Binding ElementName=DG, Path=SelectedItems}"
                        Content="批量删除"
                        Style="{StaticResource ButtonDanger}"
                        Visibility="{Binding BtnPairs[BatchDeleteBtn]}" />
                </hc:UniformSpacingPanel>
            </ToolBar>
        </StackPanel>
        <hc:Pagination
            DataCountPerPage="{Binding PageSize}"
            DockPanel.Dock="Bottom"
            IsJumpEnabled="True"
            MaxPageCount="{Binding MaxPage}"
            PageIndex="{Binding PageIndex}">
            <hc:Interaction.Triggers>
                <hc:EventTrigger EventName="PageUpdated">
                    <hc:EventToCommand Command="{Binding PageUpdatedCommand}" PassEventArgsToCommand="True" />
                </hc:EventTrigger>
            </hc:Interaction.Triggers>
        </hc:Pagination>
        <DataGrid
            Name="DG"
            hc:DataGridAttach.CanUnselectAllWithBlankArea="True"
            AutoGenerateColumns="False"
            HeadersVisibility="All"
            IsReadOnly="True"
            ItemsSource="{Binding RobotConfigItems}"
            RowHeaderWidth="60"
            Style="{StaticResource DataGrid.Small}">
            <DataGrid.RowHeaderTemplate>
                <DataTemplate>
                    <CheckBox IsChecked="{Binding IsSelected, RelativeSource={RelativeSource AncestorType=DataGridRow}}" />
                </DataTemplate>
            </DataGrid.RowHeaderTemplate>
            <DataGrid.Columns>
                <DataGridTextColumn
                    Binding="{Binding Id}"
                    Header="Id"
                    Visibility="Hidden" />
                <DataGridTextColumn Binding="{Binding Code}" Header="编号" />
                <DataGridTextColumn Binding="{Binding Name}" Header="名称" />
                <DataGridTextColumn Binding="{Binding WeldLength, StringFormat={}{0}mm}" Header="焊缝长度 AD" />
                <DataGridTextColumn Binding="{Binding WeldingWire, StringFormat={}{0}mm}" Header="焊丝直径R" />
                <DataGridTextColumn Binding="{Binding OneWeldHeight, StringFormat={}{0}mm}" Header="一次焊接的高度 h" />
                <DataGridTextColumn Binding="{Binding WeldHeight, StringFormat={}{0}mm}" Header="盖面后所需焊缝余高 h1" />
                <DataGridTextColumn Binding="{Binding WeldWidth, StringFormat={}{0}mm}" Header="盖面后单边所需增加余宽 a3" />
                <DataGridTextColumn Binding="{Binding WireFeedingSpeed, StringFormat={}{0}mm/s}" Header="送丝速度 V1" />
                <DataGridTextColumn Binding="{Binding OneLayerWireFeedingSpeed, StringFormat={}{0}mm/s}" Header="一层打底送丝速度" />
                <DataGridTextColumn Binding="{Binding Remark}" Header="备注" />
                <DataGridTextColumn Binding="{Binding Created, StringFormat={}{0:yyyy/MM/dd HH:mm:ss}}" Header="创建时间" />
                <DataGridTextColumn Binding="{Binding Updated, StringFormat={}{0:yyyy/MM/dd HH:mm:ss}}" Header="修改时间" />
                <DataGridTemplateColumn Header="操作">
                    <DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <hc:UniformSpacingPanel Spacing="5">
                                <Button
                                    hc:IconElement.Geometry="{StaticResource DropperGeometry}"
                                    Command="{Binding DataContext.EditCommand, RelativeSource={RelativeSource AncestorType=DataGrid}}"
                                    CommandParameter="{Binding Id}"
                                    Content="编辑"
                                    Style="{StaticResource ButtonDefault.Small}"
                                    Visibility="{Binding Path=DataContext.BtnPairs[EditBtn], RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" />
                                <Button
                                    hc:IconElement.Geometry="{StaticResource DeleteFillCircleGeometry}"
                                    Command="{Binding DataContext.DeleteCommand, RelativeSource={RelativeSource AncestorType=DataGrid}}"
                                    CommandParameter="{Binding Id}"
                                    Content="删除"
                                    Style="{StaticResource ButtonDanger.Small}"
                                    Visibility="{Binding Path=DataContext.BtnPairs[DeleteBtn], RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" />
                            </hc:UniformSpacingPanel>
                        </DataTemplate>
                    </DataGridTemplateColumn.CellTemplate>
                </DataGridTemplateColumn>
            </DataGrid.Columns>
        </DataGrid>
    </DockPanel>
</Window>