Files
CapMachine/CapMachine.Wpf/Views/ProConfigView.xaml
2024-07-04 17:42:03 +08:00

552 lines
26 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<UserControl
x:Class="CapMachine.Wpf.Views.ProConfigView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Controls="clr-namespace:CapMachine.Shared.Controls;assembly=CapMachine.Shared"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
xmlns:local="clr-namespace:CapMachine.Wpf.Views"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:prism="http://prismlibrary.com/"
d:DesignHeight="1000"
d:DesignWidth="1920"
prism:ViewModelLocator.AutoWireViewModel="True"
mc:Ignorable="d">
<UserControl.Resources>
<Style x:Key="myHeaderStyle" TargetType="{x:Type GridViewColumnHeader}">
<Setter Property="FontSize" Value="24" />
<Setter Property="Width" Value="218" />
</Style>
<Style x:Key="myHeaderStyle1" TargetType="{x:Type GridViewColumnHeader}">
<Setter Property="FontSize" Value="16" />
</Style>
</UserControl.Resources>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="220" />
<ColumnDefinition />
<ColumnDefinition Width="400" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="8*" />
<RowDefinition />
</Grid.RowDefinitions>
<Grid Grid.Row="0" Grid.Column="0">
<Grid.RowDefinitions>
<RowDefinition Height="40" />
<RowDefinition Height="80" />
<RowDefinition />
</Grid.RowDefinitions>
<Border
Grid.Row="0"
Margin="2"
BorderBrush="CadetBlue"
BorderThickness="1">
<TextBlock
Margin="5"
VerticalAlignment="Center"
FontSize="20"
Text="工况程序库"
TextAlignment="Center" />
</Border>
<Border
Grid.Row="1"
Margin="2"
BorderBrush="Black"
BorderThickness="1">
<StackPanel>
<StackPanel>
<StackPanel Orientation="Horizontal">
<Button
Width="60"
Margin="5"
Command="{Binding ProAddCmd}"
Content="增加"
IsEnabled="{Binding DataContext.ControlsEnabled, RelativeSource={RelativeSource FindAncestor, AncestorType=Window}}"
Style="{StaticResource MaterialDesignOutlinedDarkButton}"
ToolTip="增加" />
<Button
Width="60"
Margin="5"
Command="{Binding ProEditCmd}"
Content="修改"
IsEnabled="{Binding DataContext.ControlsEnabled, RelativeSource={RelativeSource FindAncestor, AncestorType=Window}}"
Style="{StaticResource MaterialDesignOutlinedDarkButton}"
ToolTip="修改" />
<Button
Width="60"
Margin="5"
Command="{Binding ProDeleteCmd}"
Content="删除"
IsEnabled="{Binding DataContext.ControlsEnabled, RelativeSource={RelativeSource FindAncestor, AncestorType=Window}}"
Style="{StaticResource MaterialDesignOutlinedDarkButton}"
ToolTip="删除" />
</StackPanel>
</StackPanel>
<StackPanel>
<TextBlock
Background="LightBlue"
FontSize="20"
Text="{Binding SelectedProgramSeg.Name}"
TextAlignment="Center" />
</StackPanel>
</StackPanel>
</Border>
<Grid Grid.Row="2" Margin="2">
<Border BorderBrush="Black" BorderThickness="1">
<ListView
x:Name="listviewPro"
Foreground="Black"
ItemsSource="{Binding ProSegListViewItems}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<prism:InvokeCommandAction Command="{Binding ProSelectedChangedCmd}" CommandParameter="{Binding ElementName=listviewPro, Path=SelectedItem}" />
</i:EventTrigger>
</i:Interaction.Triggers>
<ListView.View>
<GridView ColumnHeaderContainerStyle="{StaticResource myHeaderStyle}">
<GridViewColumn DisplayMemberBinding="{Binding Name}" Header="程序名称" />
</GridView>
</ListView.View>
<!-- 设置ListViewItem的背景色模拟网格效果 -->
<!--<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="Background" Value="LightGray" />
</Style>
</ListView.ItemContainerStyle>-->
</ListView>
</Border>
</Grid>
</Grid>
<Grid
Grid.Row="0"
Grid.Column="1"
Margin="2">
<Grid.RowDefinitions>
<RowDefinition Height="40" />
<RowDefinition Height="40" />
<RowDefinition />
</Grid.RowDefinitions>
<TextBlock
FontSize="26"
Text="内容区域"
TextAlignment="Center" />
<StackPanel Grid.Row="1" Orientation="Horizontal">
<TextBlock
Margin="15,0"
VerticalAlignment="Center"
FontSize="20"
Text="当前工况名称:" />
<TextBox
Width="150"
Margin="2"
VerticalAlignment="Center"
Background="DodgerBlue"
FontSize="18"
Foreground="White"
Text="{Binding SelectedProgramSeg.Name}"
TextAlignment="Center" />
<TextBlock
Margin="15,0"
VerticalAlignment="Center"
FontSize="20"
Text="总循环次数:" />
<TextBox
Width="80"
Margin="2"
VerticalAlignment="Center"
Background="DodgerBlue"
FontSize="18"
Foreground="White"
Text="{Binding SelectedProgramSeg.ProRepeat}"
TextAlignment="Center" />
<TextBlock
Margin="15,0"
VerticalAlignment="Center"
FontSize="20"
Text="当前选中步骤序号:" />
<TextBox
Width="80"
Margin="2"
VerticalAlignment="Center"
Background="DodgerBlue"
FontSize="18"
Foreground="White"
Text="{Binding SelectedProStepDto.StepNo}"
TextAlignment="Center" />
</StackPanel>
<DataGrid
x:Name="MainDatagrid"
Grid.Row="2"
AutoGenerateColumns="False"
BorderBrush="Black"
BorderThickness="1"
IsReadOnly="True"
ItemsSource="{Binding ListProStepDtoItems}"
SelectionMode="Extended">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding StepNo}" Header="序号" />
<DataGridTextColumn Binding="{Binding StepRepeat}" Header="循环次数" />
<DataGridTemplateColumn Width="200" Header="压缩机转速&#x0A;信息">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding SpeedInfo}" TextWrapping="Wrap" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Binding="{Binding PID}" Header="PID&#x0A;信息" />
<DataGridTextColumn Binding="{Binding PIDOutLimit}" Header="PID输出限幅信息" />
<DataGridTextColumn Binding="{Binding Ps}" Header="Ps信息" />
<DataGridTextColumn Binding="{Binding PdInfo}" Header="Pd信息" />
</DataGrid.Columns>
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<prism:InvokeCommandAction Command="{Binding GridSelectionChangedCmd}" CommandParameter="{Binding ElementName=MainDatagrid, Path=SelectedItem}" />
</i:EventTrigger>
</i:Interaction.Triggers>
<!--<DataGrid.RowStyle>
<Style TargetType="{x:Type DataGridRow}">
<Style.Triggers>
<Trigger Property="ItemsControl.AlternationIndex" Value="0">
<Setter Property="Background" Value="AliceBlue" />
</Trigger>
<Trigger Property="ItemsControl.AlternationIndex" Value="1">
<Setter Property="Background" Value="#FFF2F2F2" />
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>-->
</DataGrid>
</Grid>
<Grid
Grid.Row="0"
Grid.RowSpan="2"
Grid.Column="2"
Margin="2">
<Grid.RowDefinitions>
<RowDefinition Height="40" />
<RowDefinition Height="50" />
<RowDefinition Height="40" />
<RowDefinition />
</Grid.RowDefinitions>
<Border
Margin="2"
BorderBrush="CadetBlue"
BorderThickness="1">
<TextBlock
Margin="5"
VerticalAlignment="Center"
FontSize="20"
Text="工况输入"
TextAlignment="Center" />
</Border>
<Border
Grid.Row="1"
Margin="2"
BorderBrush="Black"
BorderThickness="1">
<StackPanel>
<StackPanel>
<StackPanel Orientation="Horizontal">
<Button
Width="60"
Margin="5"
Command="{Binding ProStepAddCmd}"
Content="增加"
Style="{StaticResource MaterialDesignOutlinedDarkButton}"
ToolTip="增加" />
<Button
Width="60"
Command="{Binding ProStepEditCmd}"
Content="修改"
Style="{StaticResource MaterialDesignOutlinedDarkButton}"
ToolTip="修改" />
<Button
Width="60"
Margin="5"
Command="{Binding ProStepDeleteCmd}"
Content="删除"
Style="{StaticResource MaterialDesignOutlinedDarkButton}"
ToolTip="删除" />
</StackPanel>
</StackPanel>
</StackPanel>
</Border>
<Border
Grid.Row="2"
Margin="2"
BorderBrush="Black"
BorderThickness="1">
<StackPanel Orientation="Horizontal">
<TextBlock
Margin="5"
VerticalAlignment="Center"
FontSize="18"
Text="单步循环次数"
TextAlignment="Center" />
<TextBox
Width="60"
Margin="2"
VerticalAlignment="Center"
Background="DeepSkyBlue"
BorderThickness="2"
FontSize="18"
Foreground="White"
Text="{Binding ProStepCycleCount}"
TextAlignment="Center" />
<TextBlock
VerticalAlignment="Center"
FontSize="18"
Text="次" />
</StackPanel>
</Border>
<Border
Grid.Row="3"
Margin="2"
BorderBrush="Black"
BorderThickness="1">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="300" />
<RowDefinition Height="40" />
<RowDefinition />
</Grid.RowDefinitions>
<!-- 速度参数设置 -->
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="30" />
<RowDefinition Height="70" />
<RowDefinition Height="40" />
<RowDefinition />
</Grid.RowDefinitions>
<StackPanel Grid.ColumnSpan="3" Margin="1">
<Border
Padding="3"
Background="LightSteelBlue"
CornerRadius="3">
<TextBlock
FontSize="18"
Foreground="Blue"
Text="速度设置" />
</Border>
</StackPanel>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<StackPanel Margin="5,10,0,0">
<TextBox
Height="55"
VerticalAlignment="Top"
materialDesign:HintAssist.Hint="起始速度"
AcceptsReturn="True"
FontSize="18"
Style="{StaticResource MaterialDesignOutlinedTextBox}"
Text="{Binding SelectedMeterSpeed.StartValue}"
TextWrapping="NoWrap"
VerticalScrollBarVisibility="Disabled" />
</StackPanel>
<StackPanel Grid.Column="1" Margin="5,10,0,0">
<TextBox
Height="55"
VerticalAlignment="Top"
materialDesign:HintAssist.Hint="结束速度"
AcceptsReturn="True"
FontSize="18"
Style="{StaticResource MaterialDesignOutlinedTextBox}"
Text="{Binding SelectedMeterSpeed.EndValue}"
TextWrapping="NoWrap"
VerticalScrollBarVisibility="Disabled" />
</StackPanel>
<StackPanel Grid.Column="2" Margin="5,10,0,0">
<TextBox
Height="55"
VerticalAlignment="Top"
materialDesign:HintAssist.Hint="维持时间"
AcceptsReturn="True"
FontSize="18"
Style="{StaticResource MaterialDesignOutlinedTextBox}"
Text="{Binding SelectedMeterSpeed.KeepTime}"
TextWrapping="NoWrap"
VerticalScrollBarVisibility="Disabled" />
</StackPanel>
</Grid>
<StackPanel Grid.Row="2" Orientation="Horizontal">
<Button
Margin="5,3"
Command="{Binding ProStepSpeedAddCmd}"
Content="增加"
Foreground="White"
Style="{StaticResource MaterialDesignRaisedSecondaryLightButton}"
ToolTip="增加程序步骤内的速度设置" />
<Button
Margin="5,3"
Command="{Binding ProStepSpeedEditCmd}"
Content="修改"
Foreground="White"
Style="{StaticResource MaterialDesignRaisedSecondaryLightButton}"
ToolTip="修改程序步骤内的速度设置,请先选中" />
<Button
Margin="5,3"
Command="{Binding ProStepSpeedDeleteCmd}"
Content="删除"
Foreground="White"
Style="{StaticResource MaterialDesignRaisedSecondaryLightButton}"
ToolTip="删除程序步骤内的速度设置,请先选中" />
</StackPanel>
<Border
Grid.Row="3"
Margin="3,0"
BorderBrush="Black"
BorderThickness="1">
<ListView
x:Name="listviewProStepSpeed"
Foreground="Black"
ItemsSource="{Binding ListMeterSpeedItems}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<prism:InvokeCommandAction Command="{Binding MeterSpeedSelectedChangedCmd}" CommandParameter="{Binding ElementName=listviewProStepSpeed, Path=SelectedItem}" />
</i:EventTrigger>
</i:Interaction.Triggers>
<ListView.View>
<GridView ColumnHeaderContainerStyle="{StaticResource myHeaderStyle1}">
<GridViewColumn
Width="60"
DisplayMemberBinding="{Binding StepNo}"
Header="序号" />
<GridViewColumn
Width="100"
DisplayMemberBinding="{Binding StartValue}"
Header="起始速度" />
<GridViewColumn
Width="100"
DisplayMemberBinding="{Binding EndValue}"
Header="终止速度" />
<GridViewColumn
Width="100"
DisplayMemberBinding="{Binding KeepTime}"
Header="持续时间" />
</GridView>
</ListView.View>
<!-- 设置ListViewItem的背景色模拟网格效果 -->
<!--<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="Background" Value="LightGray" />
</Style>
</ListView.ItemContainerStyle>-->
</ListView>
</Border>
</Grid>
<DockPanel Grid.Row="1">
<DockPanel>
<TextBlock
Margin="3"
VerticalAlignment="Center"
FontSize="20"
Foreground="Blue"
Text="其他仪表配置"
TextAlignment="Center" />
</DockPanel>
<StackPanel
HorizontalAlignment="Right"
DockPanel.Dock="Right"
Orientation="Horizontal">
<Button
Width="40"
Height="40"
Click="ProStepOtherTapLeft"
Style="{StaticResource MaterialDesignIconButton}"
ToolTip="向左">
<materialDesign:PackIcon Kind="ArrowLeftBox" />
</Button>
<Button
Width="40"
Height="40"
Click="ProStepOtherTapRight"
Command="{Binding ProStepOtherTapRightCmd}"
Style="{StaticResource MaterialDesignIconButton}"
ToolTip="向右">
<materialDesign:PackIcon Kind="ArrowRightBox" />
</Button>
</StackPanel>
</DockPanel>
<!-- 其他的参数设置 Grid.Row="1" Margin="3" SelectedIndex="{Binding TabSelectedIndex, RelativeSource={RelativeSource AncestorType={x:Type local:ProConfigView}}}" -->
<materialDesign:Card Grid.Row="2" Margin="3">
<TabControl x:Name="OtherTabControl" HorizontalContentAlignment="Left">
<TabItem Header="Ps配置">
<Controls:MeterConfig
AddCommand="{Binding ProStepPsAddCmd}"
DeleteCommand="{Binding ProStepPsDeleteCmd}"
EditCommand="{Binding ProStepPsEditCmd}"
ListMeter="{Binding ListMeterPsItems}"
MeterName="Ps"
MeterSelectedChangedCmd="{Binding MeterPsSelectedChangedCmd}"
SelectedMeter="{Binding SelectedPs}" />
</TabItem>
<TabItem Header="Pd2配置">
<TextBlock Margin="8" Text="Not filled, required width, tab 2" />
</TabItem>
<TabItem Header="Pd3配置">
<TextBlock Margin="8" Text="Not filled, required width, tab 3" />
</TabItem>
<TabItem Header="Pd4配置">
<TextBlock Margin="8" Text="Not filled, required width, tab 4" />
</TabItem>
<TabItem Header="Pd5配置">
<TextBlock Margin="8" Text="Not filled, required width, tab 4" />
</TabItem>
<TabItem Header="Pd6配置">
<TextBlock Margin="8" Text="Not filled, required width, tab 4" />
</TabItem>
<TabItem Header="Pd7配置">
<TextBlock Margin="8" Text="Not filled, required width, tab 4" />
</TabItem>
<TabItem Header="Pd8配置">
<TextBlock Margin="8" Text="Not filled, required width, tab 4" />
</TabItem>
<TabItem Header="Pd9配置">
<TextBlock Margin="8" Text="Not filled, required width, tab 4" />
</TabItem>
<TabItem Header="Pd10配置">
<TextBlock Margin="8" Text="Not filled, required width, tab 4" />
</TabItem>
<TabItem Header="Pd11配置">
<TextBlock Margin="8" Text="Not filled, required width, tab 4" />
</TabItem>
<TabItem Header="Pd12配置">
<TextBlock Margin="8" Text="Not filled, required width, tab 4" />
</TabItem>
</TabControl>
</materialDesign:Card>
</Grid>
</Border>
</Grid>
</Grid>
</UserControl>