| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264 | <UserControl x:Class="Venus_MainPages.Views.TMView"             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:Venus_MainPages.Views"             xmlns:customControls="clr-namespace:Venus_Themes.CustomControls;assembly=Venus_Themes"             xmlns:userControls="clr-namespace:Venus_Themes.UserControls;assembly=Venus_Themes"             xmlns:unity="clr-namespace:Venus_MainPages.Unity"             xmlns:converters="clr-namespace:Venus_Themes.Converters;assembly=Venus_Themes"             xmlns:ctrls="clr-namespace:Venus_Themes.UserControls;assembly=Venus_Themes"             xmlns:prism="http://prismlibrary.com/"             xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"             xmlns:viewModel="clr-namespace:Venus_MainPages.ViewModels"             prism:ViewModelLocator.AutoWireViewModel="True"             mc:Ignorable="d"              d:DesignHeight="450" d:DesignWidth="1500">    <UserControl.Resources>        <converters:BoolToBool x:Key="BoolToBool"/>    </UserControl.Resources>    <i:Interaction.Triggers>        <i:EventTrigger EventName="Loaded">            <i:InvokeCommandAction Command="{Binding LoadCommand}"/>        </i:EventTrigger>    </i:Interaction.Triggers>    <Canvas>               <Grid      Canvas.Top="20" Canvas.Right="40" Width="550">            <Grid.RowDefinitions>                <RowDefinition Height="30"/>                <RowDefinition Height="Auto"/>            </Grid.RowDefinitions>            <Border  BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_FirstTitle}" Padding="5,1">                <StackPanel Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Center">                    <Path Data="M0,0 L5,0 5,5 z" Fill="White" HorizontalAlignment="Left" Grid.Row="1" RenderTransformOrigin="0.5,0.5" Stretch="Fill" Width="5" Height="5">                        <Path.RenderTransform>                            <TransformGroup>                                <ScaleTransform/>                                <SkewTransform/>                                <RotateTransform Angle="45"/>                                <TranslateTransform/>                            </TransformGroup>                        </Path.RenderTransform>                    </Path>                    <TextBlock  Margin="5,0,0,0" Text="TM Robot Operation" FontFamily="Arial" FontSize="14" Foreground="{DynamicResource FG_White}" HorizontalAlignment="Left" VerticalAlignment="Center"/>                </StackPanel>            </Border>                        <!--<Border  Grid.Row="1" BorderBrush="{DynamicResource Table_BD}" Background="{DynamicResource Table_BG_Content}"   >-->            <Grid unity:GridOptions.ShowBorder="True" unity:GridOptions.LineBrush="Black" Grid.Row="1" Background="{DynamicResource Table_BG_Content}">                    <Grid.RowDefinitions>                        <RowDefinition Height="25"/>                        <RowDefinition/>                        <RowDefinition/>                        <RowDefinition/>                        <RowDefinition/>                        <RowDefinition/>                        <RowDefinition/>                    </Grid.RowDefinitions>                    <Grid.ColumnDefinitions>                        <ColumnDefinition/>                        <ColumnDefinition/>                        <ColumnDefinition/>                        <ColumnDefinition/>                    </Grid.ColumnDefinitions>                    <TextBlock Text="Module"                    HorizontalAlignment="Center" VerticalAlignment="Center"   FontSize="14" />                    <TextBlock Text="Slot" Grid.Column="1"      HorizontalAlignment="Center" VerticalAlignment="Center"   FontSize="14"/>                    <TextBlock Text="Blada" Grid.Column="2"       HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="14"/>                    <TextBlock Text="Operation" Grid.Column="3" HorizontalAlignment="Center" VerticalAlignment="Center"   FontSize="14"/>                    <ComboBox Grid.Row="1"                 Margin="5" SelectedItem="{Binding PickSelectedModule}" ItemsSource="{Binding TMModules}">                        <i:Interaction.Triggers>                            <i:EventTrigger EventName="SelectionChanged">                                <i:InvokeCommandAction Command="{Binding ModuleChangeCommand}" CommandParameter="Pick"/>                            </i:EventTrigger>                        </i:Interaction.Triggers>                    </ComboBox>                    <ComboBox Grid.Row="1" Grid.Column="1"   Margin="5" ItemsSource="{Binding PickSoltItemsSource}" SelectedIndex="{Binding PickSoltSelectedIndex}"/>                <ComboBox Grid.Row="1" Grid.Column="2"   Margin="5"  SelectedItem="{Binding PickSelectedBlade}" unity:ItemsControlHelper.EnumValuesToItemsSource="True"/>                    <Button   Grid.Row="1" Grid.Column="3"   Margin="5"  Content="Pick" Height="25" Command="{Binding PickCommand}"/>                <ComboBox Grid.Row="2"                 Margin="5" SelectedItem="{Binding PlaceSelectedModule}" ItemsSource="{Binding TMModules}">                        <i:Interaction.Triggers>                            <i:EventTrigger EventName="SelectionChanged">                                <i:InvokeCommandAction Command="{Binding ModuleChangeCommand}" CommandParameter="Place" />                            </i:EventTrigger>                        </i:Interaction.Triggers>                    </ComboBox>                    <ComboBox Grid.Row="2" Grid.Column="1" Margin="5" ItemsSource="{Binding PlaceSoltItemsSource}" SelectedIndex="{Binding PlaceSoltSelectedIndex}"/>                    <ComboBox Grid.Row="2" Grid.Column="2" Margin="5" SelectedItem="{Binding PlaceSelectedBlade}" unity:ItemsControlHelper.EnumValuesToItemsSource="True"/>                    <Button   Grid.Row="2" Grid.Column="3" Margin="5" Content="Place" Height="25" Command="{Binding PlaceCommand}"/>                <ComboBox Grid.Row="3"                 Margin="5" SelectedItem="{Binding ExtendSelectedModule}" ItemsSource="{Binding TMModules}">                        <i:Interaction.Triggers>                            <i:EventTrigger EventName="SelectionChanged">                                <i:InvokeCommandAction Command="{Binding ModuleChangeCommand}" CommandParameter="Extend" />                            </i:EventTrigger>                        </i:Interaction.Triggers>                    </ComboBox>                    <ComboBox Grid.Row="3" Grid.Column="1" Margin="5" ItemsSource="{Binding ExtendSoltItemsSource}" SelectedIndex="{Binding ExtendSoltSelectedIndex}"/>                    <ComboBox Grid.Row="3" Grid.Column="2" Margin="5" SelectedItem="{Binding ExtendSelectedBlade}" unity:ItemsControlHelper.EnumValuesToItemsSource="True"/>                    <Button   Grid.Row="3" Grid.Column="3" Margin="5" Content="Extend" Height="25" Command="{Binding ExtendCommand}"/>                <ComboBox Grid.Row="4"                 Margin="5" SelectedItem="{Binding RetractSelectedModule}" ItemsSource="{Binding TMModules}">                        <i:Interaction.Triggers>                            <i:EventTrigger EventName="SelectionChanged">                                <i:InvokeCommandAction Command="{Binding ModuleChangeCommand}" CommandParameter="Retract" />                            </i:EventTrigger>                        </i:Interaction.Triggers>                    </ComboBox>                    <ComboBox Grid.Row="4" Grid.Column="1" Margin="5" ItemsSource="{Binding RetractSoltItemsSource}" SelectedIndex="{Binding RetractSoltSelectedIndex}"/>                <ComboBox Grid.Row="4" Grid.Column="2" Margin="5" SelectedItem="{Binding RetractSelectedBlade}" unity:ItemsControlHelper.EnumValuesToItemsSource="True"/>                    <Button   Grid.Row="4" Grid.Column="3" Margin="5" Content="Retract" Height="25" Command="{Binding RetractCommand}"/>                <ComboBox   Grid.Row="5" Grid.Column="0"  Margin="5"  SelectedItem="{Binding WaferRobotTAction}" unity:ItemsControlHelper.EnumValuesToItemsSource="True"/>                <ComboBox   Grid.Row="5" Grid.Column="2"  Margin="5"   SelectedItem="{Binding GoToSelectedBlade}" unity:ItemsControlHelper.EnumValuesToItemsSource="True"/>                <Button     Grid.Row="5" Grid.Column="3"  Margin="5" Height="25"  Content="Goto" IsEnabled="{Binding Path=IsManualMode}" Command="{Binding GotoCommand}"/>                <Button Grid.Row="6" Grid.Column="3"  Margin="5" Height="25" Content="Robot Home" Command="{Binding RobotHomeCommand}" />            </Grid>            <!--</Border>-->        </Grid>        <StackPanel Canvas.Top="360" Canvas.Right="40" Width="550">            <Grid>                <Grid.RowDefinitions>                    <RowDefinition Height="30"/>                    <RowDefinition Height="Auto"/>                    <RowDefinition />                </Grid.RowDefinitions>                <Border  BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_FirstTitle}" Padding="5,1">                    <StackPanel Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Center">                        <Path Data="M0,0 L5,0 5,5 z" Fill="White" HorizontalAlignment="Left" Grid.Row="1" RenderTransformOrigin="0.5,0.5" Stretch="Fill" Width="5" Height="5">                            <Path.RenderTransform>                                <TransformGroup>                                    <ScaleTransform/>                                    <SkewTransform/>                                    <RotateTransform Angle="45"/>                                    <TranslateTransform/>                                </TransformGroup>                            </Path.RenderTransform>                        </Path>                        <TextBlock  Margin="5,0,0,0" Text="TM Cycle Configuration" FontFamily="Arial" FontSize="14" Foreground="{DynamicResource FG_White}" HorizontalAlignment="Left" VerticalAlignment="Center"/>                    </StackPanel>                </Border>                <Border  Grid.Row="1" BorderBrush="{DynamicResource Table_BD}" Background="{DynamicResource Table_BG_Content}" BorderThickness="1,0,1,1" >                    <Grid unity:GridOptions.ShowBorder="True" unity:GridOptions.LineBrush="White" unity:GridOptions.LineThickness="1">                        <Grid.RowDefinitions>                            <RowDefinition/>                            <RowDefinition/>                        </Grid.RowDefinitions>                        <Grid.ColumnDefinitions>                            <ColumnDefinition/>                            <ColumnDefinition/>                            <ColumnDefinition/>                            <ColumnDefinition/>                            <ColumnDefinition/>                            <ColumnDefinition/>                        </Grid.ColumnDefinitions>                        <TextBlock Text="TM Cycle Enable"  Grid.ColumnSpan="2" Padding="0,5,0,5" Background="#D0D8E8" />                        <CheckBox  Grid.Column="2" Margin="5" Grid.ColumnSpan="4" IsChecked="{Binding CycleEnable}"/>                        <TextBlock Text="TM Cycle Count"             Grid.Row="1" Grid.ColumnSpan="2" Padding="0,5,0,5" Background="#D0D8E8"/>                        <TextBlock Text="TM Cycle Count Remained"    Grid.Row="1" Grid.Column="3" Grid.ColumnSpan="2" Padding="0,5,0,5" Background="#D0D8E8"/>                        <TextBlock Text="{Binding RtDataValues[TMCycle.CycleIndex]}"    Grid.Row="1" Grid.Column="5"  Padding="0,5,0,5"  HorizontalAlignment="Center"/>                        <TextBox Grid.Row="1" Grid.Column="2" BorderThickness="0" VerticalContentAlignment="Center" Padding="36,0,0,0" Text="{Binding CycleCount,UpdateSourceTrigger=PropertyChanged}"/>                    </Grid>                </Border>            </Grid>            <Grid >                <Grid.RowDefinitions>                    <RowDefinition Height="30"/>                    <RowDefinition />                    <RowDefinition />                </Grid.RowDefinitions>                <Border  BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_FirstTitle}" Padding="5,1">                    <StackPanel Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Center">                        <Path Data="M0,0 L5,0 5,5 z" Fill="White" HorizontalAlignment="Left" Grid.Row="1" RenderTransformOrigin="0.5,0.5" Stretch="Fill" Width="5" Height="5">                            <Path.RenderTransform>                                <TransformGroup>                                    <ScaleTransform/>                                    <SkewTransform/>                                    <RotateTransform Angle="45"/>                                    <TranslateTransform/>                                </TransformGroup>                            </Path.RenderTransform>                        </Path>                        <TextBlock  Margin="5,0,0,0" Text="TM Cycle" FontFamily="Arial" FontSize="14" Foreground="{DynamicResource FG_White}" HorizontalAlignment="Left" VerticalAlignment="Center"/>                    </StackPanel>                </Border>                <Border  Grid.Row="1"  BorderBrush="{DynamicResource Table_BD}" Background="{DynamicResource Table_BG_Content}" BorderThickness="1,0,1,1" >                    <Grid >                        <Grid.RowDefinitions>                            <RowDefinition/>                            <RowDefinition/>                            <RowDefinition/>                        </Grid.RowDefinitions>                        <StackPanel  Orientation="Horizontal" HorizontalAlignment="Center">                            <TextBlock Text="Origin: " Padding="0,8,0,0"/>                            <ComboBox Width="100" Margin="0,5,5,0" ItemsSource="{Binding OriginalCycle}" SelectedItem="{Binding OriginalCycleSelectedItem}"/>                            <TextBlock Text="To: "     Padding="10,8,0,0"/>                            <ComboBox Width="100" Margin="0,5,5,0" ItemsSource="{Binding ToCycle}" SelectedItem="{Binding ToCycleSelectedItem}"/>                        </StackPanel>                        <StackPanel  Grid.Row="1" Orientation="Horizontal" HorizontalAlignment="Center">                            <CheckBox Content="PMA" Margin="0,10,10,10" Visibility="{Binding PMAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" IsChecked="{Binding PMAIsCycle}"/>                            <CheckBox Content="PMB" Margin="0,10,10,10" Visibility="{Binding PMBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" IsChecked="{Binding PMBIsCycle}"/>                            <CheckBox Content="PMC" Margin="0,10,10,10" Visibility="{Binding PMCIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" IsChecked="{Binding PMCIsCycle}"/>                            <CheckBox Content="PMD" Margin="0,10,10,10" Visibility="{Binding PMDIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" IsChecked="{Binding PMDIsCycle}"/>                        </StackPanel>                        <StackPanel Orientation="Horizontal" Grid.Row="2" HorizontalAlignment="Center">                            <Button Content="Home"  Margin="0,0,10,10"   Width="80" Height="25" Command="{Binding HomeCommand}"/>                            <Button Content="Start"  Margin="0,0,10,10"  Width="80" Height="25" Command="{Binding StartCycleCommand}"/>                            <Button Content="Stop"   Margin="10,0,10,10" Width="80" Height="25" Command="{Binding StopCycleCommand}"/>                            <Button Content="Pause"  Margin="10,0,10,10" Width="80" Height="25"/>                            <Button Content="Resume" Margin="10,0,0,10"  Width="80" Height="25"/>                        </StackPanel>                    </Grid>                </Border>            </Grid>        </StackPanel>        <Canvas Canvas.Top="100" Canvas.Left="20">            <userControls:FOUPFrontView UnitData="{Binding LLAModuleInfo}" VerticalAlignment="Top" Canvas.Top="510" Canvas.Left="358" Visibility="{Binding LLAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}"/>            <userControls:FOUPFrontView UnitData="{Binding LLBModuleInfo}" VerticalAlignment="Top" Canvas.Top="510" Canvas.Left="554" Visibility="{Binding LLBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}"/>            <Canvas Canvas.Top="-300" Canvas.Left="00" Width="450" Height="800">                <!--<userControls:MainTM Width="300" Height="250" Canvas.Left="380" Canvas.Top="90"/>-->                <ctrls:NiceMainTMWithLoadLock Canvas.Left="380" Canvas.Top="90" PMADoorIsOpen="{Binding RtDataValues[TM.PMASlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" PMBDoorIsOpen="{Binding RtDataValues[TM.PMBSlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" PMCDoorIsOpen="{Binding RtDataValues[TM.PMCSlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" PMDDoorIsOpen="{Binding RtDataValues[TM.PMDSlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" LLATDoorIsOpen="{Binding RtDataValues[TM.LLATSlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" LLAEDoorIsOpen="{Binding RtDataValues[TM.LLAESlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" LLBTDoorIsOpen="{Binding RtDataValues[TM.LLBTSlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" LLBEDoorIsOpen="{Binding RtDataValues[TM.LLBESlitDoor.IsClosed],Converter={StaticResource BoolToBool}}" LLAWafer="{Binding LLAWafer}"  LLBWafer="{Binding LLBWafer}"/>                <ctrls:XinSongRobot Width="95" Height="95" Canvas.Left="446" Canvas.Top="505" Blade1RobotWafer="{Binding BladeAWafer}" Blade2RobotWafer="{Binding BladeBWafer}" BladeRobotTAction="{Binding BladeNiceXinSongWaferRobotTAction}"  Blade1RobotXAction="{Binding Blade1NiceXinSongWaferRobotXAction}" Blade2RobotXAction="{Binding Blade2NiceXinSongWaferRobotXAction}"/>                <TextBlock  Canvas.Left="430" Canvas.Top="605" FontSize="22" Width="180"  Block.TextAlignment="Center" >                    <TextBlock.Text>                        <MultiBinding StringFormat="{}TM({0:F1}{1})">                            <Binding  Path="RtDataValues[TM.TMProcessGauge.Value]"/>                            <Binding  Path="PressureType"/>                        </MultiBinding>                    </TextBlock.Text>                </TextBlock>                <ctrls:NiceTMChamber ModuleName="PMA" RotateTransformValue="-90" Width="162" Height="162" Canvas.Left="225" Canvas.Top="607"  RobotWafer="{Binding PMAWafer}" PMVisibility="{Binding PMAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" IsEnabled="{Binding PMAIsInstalled}" PressureValue="{Binding RtDataValues[PMA.CalculationPressure]}" Unit="{Binding PressureType}"/>                <ctrls:NiceTMChamber ModuleName="PMB" RotateTransformValue="-30" Width="162" Height="162" Canvas.Left="305" Canvas.Top="307"  RobotWafer="{Binding PMBWafer}" PMVisibility="{Binding PMBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" IsEnabled="{Binding PMBIsInstalled}" PressureValue="{Binding RtDataValues[PMA.CalculationPressure]}" Unit="{Binding PressureType}"/>                <ctrls:NiceTMChamber ModuleName="PMC" RotateTransformValue="30" Width="162" Height="162" Canvas.Left="608" Canvas.Top="227"   RobotWafer="{Binding PMCWafer}" PMVisibility="{Binding PMCIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" IsEnabled="{Binding PMCIsInstalled}" PressureValue="{Binding RtDataValues[PMA.CalculationPressure]}" Unit="{Binding PressureType}"/>                <ctrls:NiceTMChamber ModuleName="PMD" RotateTransformValue="90" Width="162" Height="162" Canvas.Left="826" Canvas.Top="443"  RobotWafer="{Binding PMDWafer}"  PMVisibility="{Binding PMDIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" IsEnabled="{Binding PMDIsInstalled}" PressureValue="{Binding RtDataValues[PMA.CalculationPressure]}" Unit="{Binding PressureType}"/>                                <userControls:EFEMFrontView UnitData="{Binding TMModuleInfo}" Title="TM Robot"      Canvas.Top="480" Canvas.Left="20"/>                <!--<TextBlock Text="{Binding RobotMoveInfo}"     FontSize="20" Canvas.Left="200" Canvas.Top="280" />-->            </Canvas>        </Canvas>      </Canvas>    </UserControl>
 |