NohDoyeon241104 c054439c19 feat: Recipe 작업 화면 상단에 PLC 지시 Recipe/Page 표시
bit15(M70515) 팝업은 상승엣지 1회라 닫으면 값이 사라져, 현장에서 작업자가
레시피/페이지를 잊는 문제가 있었다. 팝업과 같은 기준·같은 워드를 화면 상단
전폭 띠로 ON 구간 내내 표시한다(Collapsed 시 높이 0이라 평소 화면 영향 없음).

공용(WeldingCommon)은 Status만 읽고 PTOP을 참조하지 않는다 —
값을 넣지 않는 타 설비는 분기문 없이 자동 미표시.
2026-08-21 00:06:30 +09:00

54 lines
3.6 KiB
XML

<UserControl x:Class="WeldingCommon.Views.UCScannerObjectTeaching"
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:WeldingCommon.Views"
xmlns:lasa="clr-namespace:GUI;assembly=LASA"
xmlns:behavior="http://schemas.microsoft.com/xaml/behaviors"
xmlns:view="clr-namespace:Aurora.View;assembly=Aurora"
xmlns:mah="http://metro.mahapps.com/winfx/xaml/controls"
xmlns:aurorauicomponent="clr-namespace:AuroraUIComponent;assembly=AuroraUIComponent"
xmlns:usercontrols="clr-namespace:AuroraUIComponent.UserControls;assembly=AuroraUIComponent"
d:DataContext="{d:DesignInstance Type=local:UCScannerObjectTeachingViewModel}"
mc:Ignorable="d"
d:DesignHeight="800" d:DesignWidth="1200" x:Name="uc">
<!--<behavior:Interaction.Triggers>
<behavior:PropertyChangedTrigger Binding="{Binding IsVisible, ElementName=uc}">
<behavior:InvokeCommandAction Command="{Binding CMD_VisibleChanged}" CommandParameter="{Binding IsVisible, ElementName=uc}"/>
</behavior:PropertyChangedTrigger>
</behavior:Interaction.Triggers>-->
<!-- 260820 PLC 지시 Recipe/Page 띠에서 사용 (원복: 이 Resources 블록 삭제) -->
<UserControl.Resources>
<view:BoolConverter x:Key="convTrueVisible" TrueValue="Visible" FalseValue="Collapsed"/>
</UserControl.Resources>
<Grid IsEnabled="{Binding IsManualStatus}">
<Grid.RowDefinitions>
<!-- 260820: Height="Auto" 라 띠가 Collapsed 면 높이 0 → 평소 화면은 종전과 동일하다 -->
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="300"></ColumnDefinition>
<ColumnDefinition Width="4*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<!-- 260820 PLC 지시 Recipe/Page 띠 (원복: 이 Border 와 위 RowDefinitions 제거, 아래 Grid.Row 속성 제거)
bit15(M70515) ON 구간에만 표시된다. 값은 PLC 원본 워드이고 PC 에코가 아니다.
DataContext 는 바깥 VM(UCScannerObjectTeachingViewModel) 이라 ControlBox VM 을 경유해 바인딩한다.
분석: docs/분석/2026/08/20/RecipePage_현장표시_레이아웃_분석.md -->
<Border Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2"
Background="#2E7D46" BorderBrush="#7ED492" BorderThickness="0 0 0 2" Padding="12 7"
Visibility="{Binding ScannerObjectTeachingControlBoxViewModel.IsPlcGuideVisible, Converter={StaticResource convTrueVisible}}">
<TextBlock Text="{Binding ScannerObjectTeachingControlBoxViewModel.PlcGuideText}"
FontSize="22" FontWeight="Bold" Foreground="White"
HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<local:UCScannerObjectTeachingControlBox Grid.Row="1" Grid.Column="0" Margin="0 0 0 0" DataContext="{Binding DataContext.ScannerObjectTeachingControlBoxViewModel, ElementName=uc}"></local:UCScannerObjectTeachingControlBox>
<WindowsFormsHost Grid.Row="1" Grid.Column="1">
<lasa:MainPage x:Name="MainPageView" IsMdiContainer="False" TopLevel="False" />
</WindowsFormsHost>
</Grid>
</UserControl>