모델 프로파일 기반 Cowork/Code 루프와 진행 UX 고도화 반영

- 등록 모델 실행 프로파일을 검증 게이트, 문서 fallback, post-tool verification까지 확장 적용

- Cowork/Code 진행 카드에 계획/도구/검증/압축/폴백/재시도 단계 메타를 추가해 대기 상태 가시성 강화

- OpenAI/vLLM tool 요청에 병렬 도구 호출 힌트를 추가하고 회귀 프롬프트 문서를 프로파일 기준으로 전면 정리

- 검증: dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\ (경고 0 / 오류 0)
This commit is contained in:
2026-04-08 13:41:57 +09:00
parent b391dfdfb3
commit a2c952879d
552 changed files with 8094 additions and 13595 deletions

View File

@@ -1055,10 +1055,10 @@
<!-- 우: 프리뷰 토글 버튼 -->
<StackPanel Grid.Column="2" Orientation="Horizontal" HorizontalAlignment="Right" VerticalAlignment="Center">
<Button x:Name="BtnPreviewToggle" Style="{StaticResource GhostBtn}"
Click="BtnPreviewToggle_Click" ToolTip="미리보기 패널" Visibility="Collapsed"
Click="BtnPreviewToggle_Click" ToolTip="미리보기 패널"
Padding="5,2.5" MinWidth="0">
<StackPanel Orientation="Horizontal">
<Ellipse x:Name="PreviewDot" Width="5" Height="5" Fill="#22C55E"
<Ellipse x:Name="PreviewDot" Width="5" Height="5" Fill="Gray"
Margin="0,0,4,0" VerticalAlignment="Center"/>
<TextBlock Text="프리뷰" FontSize="10.5"
Foreground="{DynamicResource PrimaryText}"
@@ -1362,17 +1362,54 @@
VerticalScrollBarVisibility="Auto"
HorizontalScrollBarVisibility="Disabled"
Background="{DynamicResource LauncherBackground}"
Padding="24,12,24,8">
Padding="24,12,24,8"
UseLayoutRounding="True">
<StackPanel x:Name="MessagePanel"
Margin="0,0,0,8"
MaxWidth="960"
HorizontalAlignment="Center">
HorizontalAlignment="Center"
UseLayoutRounding="True">
<StackPanel.RenderTransform>
<TranslateTransform/>
</StackPanel.RenderTransform>
</StackPanel>
</ScrollViewer>
<!-- ── 스트리밍 상태 바 (Claude 스타일 하단 플로팅) ── -->
<Border x:Name="StreamingStatusBar" Grid.Row="3"
VerticalAlignment="Bottom" HorizontalAlignment="Center"
Margin="0,0,0,14"
Visibility="Collapsed"
Background="{DynamicResource HintBackground}"
BorderBrush="{DynamicResource BorderColor}"
BorderThickness="1"
CornerRadius="20"
Padding="14,7,16,7"
IsHitTestVisible="False">
<Border.Effect>
<DropShadowEffect BlurRadius="12" ShadowDepth="2" Opacity="0.10" Color="Black"/>
</Border.Effect>
<StackPanel Orientation="Horizontal" VerticalAlignment="Center">
<TextBlock x:Name="StatusBarIcon"
Text="&#xE895;"
FontFamily="Segoe MDL2 Assets"
FontSize="12"
Foreground="{DynamicResource AccentColor}"
VerticalAlignment="Center"
Margin="0,0,8,0"
RenderTransformOrigin="0.5,0.5">
<TextBlock.RenderTransform>
<RotateTransform x:Name="StatusIconRotation"/>
</TextBlock.RenderTransform>
</TextBlock>
<TextBlock x:Name="StatusBarText"
Text="생각하는 중..."
FontSize="13"
Foreground="{DynamicResource SecondaryText}"
VerticalAlignment="Center"/>
</StackPanel>
</Border>
<!-- 빈 상태 -->
<Grid x:Name="EmptyState" Grid.Row="3"
HorizontalAlignment="Stretch"
@@ -1699,6 +1736,82 @@
HorizontalAlignment="Center"
VerticalAlignment="Bottom">
<StackPanel HorizontalAlignment="Stretch">
<!-- ── 펄스 닷 애니메이션 (AI 처리 중) ── -->
<Border x:Name="PulseDotBar"
Visibility="Collapsed"
HorizontalAlignment="Left"
Margin="6,0,0,10">
<StackPanel>
<!-- 레거시 펄스 점 (코드비하인드 참조용, 화면에 표시 안 함) -->
<Ellipse x:Name="PulseDot1" Width="7" Height="7" Fill="{DynamicResource AccentColor}" Opacity="0.3" Visibility="Collapsed"/>
<Ellipse x:Name="PulseDot2" Width="7" Height="7" Fill="{DynamicResource AccentColor}" Opacity="0.3" Visibility="Collapsed"/>
<Ellipse x:Name="PulseDot3" Width="7" Height="7" Fill="{DynamicResource AccentColor}" Opacity="0.3" Visibility="Collapsed"/>
<!-- 주 행: 다이아몬드 아이콘 + 상태 텍스트 -->
<StackPanel Orientation="Horizontal" VerticalAlignment="Center">
<!-- 미니 다이아몬드 아이콘 (런처 아이콘 축소판, 코드비하인드에서 애니메이션 적용) -->
<Canvas x:Name="StatusDiamondIcon" Width="16" Height="16"
VerticalAlignment="Center" ClipToBounds="False"
Margin="0,1,8,0">
<Canvas.RenderTransformOrigin>0.5,0.5</Canvas.RenderTransformOrigin>
<Canvas.RenderTransform>
<TransformGroup>
<RotateTransform x:Name="StatusIconRotate" Angle="45"/>
<ScaleTransform x:Name="StatusIconScale" ScaleX="1" ScaleY="1"/>
</TransformGroup>
</Canvas.RenderTransform>
<!-- 파란 픽셀 (좌상) -->
<Rectangle x:Name="StatusPixelBlue"
Canvas.Left="0.5" Canvas.Top="0.5"
Width="6.5" Height="6.5"
RadiusX="1" RadiusY="1"
Fill="#4488FF"/>
<!-- 초록 픽셀 (우상) -->
<Rectangle x:Name="StatusPixelGreen1"
Canvas.Left="8.5" Canvas.Top="0.5"
Width="6.5" Height="6.5"
RadiusX="1" RadiusY="1"
Fill="#44DD66"/>
<!-- 초록 픽셀 (좌하) -->
<Rectangle x:Name="StatusPixelGreen2"
Canvas.Left="0.5" Canvas.Top="8.5"
Width="6.5" Height="6.5"
RadiusX="1" RadiusY="1"
Fill="#44DD66"/>
<!-- 빨간 픽셀 (우하) -->
<Rectangle x:Name="StatusPixelRed"
Canvas.Left="8.5" Canvas.Top="8.5"
Width="6.5" Height="6.5"
RadiusX="1" RadiusY="1"
Fill="#FF4466"/>
</Canvas>
<!-- MDL2 아이콘 (호환성 유지, 숨김) -->
<TextBlock x:Name="PulseDotStatusIcon"
FontFamily="Segoe MDL2 Assets"
FontSize="11"
Foreground="{DynamicResource AccentColor}"
VerticalAlignment="Center"
Margin="0,0,6,0"
Visibility="Collapsed"
Text="&#xE895;"/>
<!-- 단계 텍스트 (주) -->
<TextBlock x:Name="PulseDotStatusText"
FontSize="12"
FontFamily="Segoe UI, Malgun Gothic"
Foreground="{DynamicResource SecondaryText}"
VerticalAlignment="Center"
Text="생각하는 중..."/>
</StackPanel>
<!-- 세부 항목 목록 (파일별 진행 상황, 회색 서브텍스트) -->
<StackPanel x:Name="PulseDotSubItems"
Margin="24,3,0,0"/>
<!-- 레거시 단일 세부 텍스트 (숨김, 호환성 유지) -->
<TextBlock x:Name="PulseDotDetailText"
Visibility="Collapsed"
Text=""/>
</StackPanel>
</Border>
<Border x:Name="CodeRepoSummaryBar"
Visibility="Collapsed"
HorizontalAlignment="Stretch"
@@ -1910,12 +2023,13 @@
</StackPanel>
</Grid>
</Border>
<!-- 대기열 패널: 입력창 위에 독립적으로 표시 -->
<StackPanel x:Name="DraftQueuePanel"
Visibility="Collapsed"
Margin="0,0,0,6"/>
<!-- 무지개 글로우 + 입력 영역 (겹침 레이아웃) -->
<Grid>
<!-- 무지개 글로우 외부 테두리 (메시지 전송 시 애니메이션) -->
<StackPanel x:Name="DraftQueuePanel"
Visibility="Collapsed"
Margin="0,0,0,6"/>
<Border x:Name="InputGlowBorder" CornerRadius="18" Opacity="0"
Margin="-2" IsHitTestVisible="False">
<Border.BorderBrush>
@@ -1984,33 +2098,33 @@
Grid.Column="2"
Margin="6,0,0,0"
Padding="0"
Width="32"
Height="32"
Width="30"
Height="30"
CornerRadius="999"
BorderBrush="{DynamicResource BorderColor}"
BorderThickness="1"
Background="{DynamicResource LauncherBackground}"
BorderThickness="0"
Background="Transparent"
SnapsToDevicePixels="True"
VerticalAlignment="Center"
Visibility="Collapsed"
Cursor="Hand"
MouseEnter="TokenUsageCard_MouseEnter"
MouseLeave="TokenUsageCard_MouseLeave">
<Grid>
<Grid Width="24" Height="24" VerticalAlignment="Center" HorizontalAlignment="Center">
<Ellipse Stroke="{DynamicResource BorderColor}"
StrokeThickness="1.75"/>
<Path x:Name="TokenUsageArc"
Stroke="{DynamicResource AccentColor}"
StrokeThickness="2.25"
StrokeStartLineCap="Round"
StrokeEndLineCap="Round"/>
<Canvas IsHitTestVisible="False">
<Ellipse x:Name="TokenUsageThresholdMarker"
Width="4"
Height="4"
Fill="{DynamicResource AccentColor}"/>
</Canvas>
<Grid Width="28" Height="28">
<!-- Ring track (subtle background ring) -->
<Ellipse Width="22" Height="22"
Stroke="{DynamicResource BorderColor}"
StrokeThickness="2"
Opacity="0.45"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
<!-- Usage arc (progress) -->
<Path x:Name="TokenUsageArc"
Stroke="{DynamicResource AccentColor}"
StrokeThickness="2"
StrokeStartLineCap="Round"
StrokeEndLineCap="Round"/>
<!-- Hidden data elements (referenced in code) -->
<StackPanel Visibility="Collapsed">
<TextBlock x:Name="TokenUsagePercentText"
Text="0%"
FontSize="7.5"
@@ -2018,17 +2132,15 @@
Foreground="{DynamicResource PrimaryText}"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Grid>
<StackPanel Visibility="Collapsed">
<TextBlock x:Name="TokenUsageSummaryText"
Text="컨텍스트"
FontSize="10.5"
FontWeight="SemiBold"
Foreground="{DynamicResource PrimaryText}"/>
<TextBlock x:Name="TokenUsageHintText"
Text="0 / 0"
FontSize="9"
Foreground="{DynamicResource SecondaryText}"/>
Text="0 / 0"
FontSize="9"
Foreground="{DynamicResource SecondaryText}"/>
</StackPanel>
<Button x:Name="BtnCompactNow"
Style="{StaticResource GhostBtn}"
@@ -3409,129 +3521,6 @@
Checked="ChkOverlayAiEnabled_Changed"
Unchecked="ChkOverlayAiEnabled_Changed"/>
</Grid>
<StackPanel Margin="0,4,0,12">
<TextBlock Text="대화 스타일"
FontSize="13"
FontWeight="SemiBold"
Foreground="{DynamicResource PrimaryText}"/>
<TextBlock Text="응답 결과물의 기본 형태와 문서 분위기를 여기서 저장합니다."
Margin="0,4,0,0"
FontSize="11"
Foreground="{DynamicResource SecondaryText}"/>
</StackPanel>
<Grid x:Name="OverlayDefaultOutputFormatRow" Margin="0,0,0,8">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="문서 형태"
FontSize="12.5"
FontWeight="SemiBold"
Foreground="{DynamicResource PrimaryText}"/>
<Border Style="{StaticResource OverlayHelpBadge}">
<TextBlock Text="?"
FontSize="10"
FontWeight="Bold"
Foreground="{DynamicResource AccentColor}"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
<Border.ToolTip>
<ToolTip Style="{StaticResource HelpTooltipStyle}">
<TextBlock TextWrapping="Wrap"
Foreground="White"
FontSize="12"
LineHeight="18"
MaxWidth="280">문서나 결과물을 파일로 만들 때 우선 고려할 출력 형식입니다. 자동으로 두면 요청 내용을 보고 가장 맞는 형식을 선택합니다.</TextBlock>
</ToolTip>
</Border.ToolTip>
</Border>
</StackPanel>
<TextBlock Text="기본은 AI 자동 선택으로 두고 필요할 때만 바꿉니다."
Margin="0,4,0,0"
FontSize="11"
Foreground="{DynamicResource SecondaryText}"/>
</StackPanel>
<ComboBox x:Name="CmbOverlayDefaultOutputFormat"
Grid.Column="1"
MinWidth="160"
Style="{StaticResource OverlayComboBox}"
SelectionChanged="CmbOverlayDefaultOutputFormat_SelectionChanged">
<ComboBoxItem Content="AI 자동 · 자동" Tag="auto"/>
<ComboBoxItem Content="AI 자동 · Word" Tag="docx"/>
<ComboBoxItem Content="AI 자동 · HTML 보고서" Tag="html"/>
<ComboBoxItem Content="AI 자동 · Excel" Tag="xlsx"/>
<ComboBoxItem Content="AI 자동 · PDF" Tag="pdf"/>
<ComboBoxItem Content="AI 자동 · Markdown" Tag="md"/>
<ComboBoxItem Content="AI 자동 · 텍스트" Tag="txt"/>
</ComboBox>
</Grid>
<Grid x:Name="OverlayDefaultMoodRow" Margin="0,0,0,12">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="디자인 스타일"
FontSize="12.5"
FontWeight="SemiBold"
Foreground="{DynamicResource PrimaryText}"/>
<Border Style="{StaticResource OverlayHelpBadge}">
<TextBlock Text="?"
FontSize="10"
FontWeight="Bold"
Foreground="{DynamicResource AccentColor}"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
<Border.ToolTip>
<ToolTip Style="{StaticResource HelpTooltipStyle}">
<TextBlock TextWrapping="Wrap"
Foreground="White"
FontSize="12"
LineHeight="18"
MaxWidth="280">HTML 보고서나 미리보기 화면을 만들 때 기본으로 적용할 분위기입니다. 같은 내용도 보고서 톤과 카드 스타일이 달라집니다.</TextBlock>
</ToolTip>
</Border.ToolTip>
</Border>
</StackPanel>
<TextBlock Text="HTML/미리보기 기본 스타일을 설정합니다."
Margin="0,4,0,0"
FontSize="11"
Foreground="{DynamicResource SecondaryText}"/>
</StackPanel>
<ComboBox x:Name="CmbOverlayDefaultMood"
Grid.Column="1"
MinWidth="160"
Style="{StaticResource OverlayComboBox}"
SelectionChanged="CmbOverlayDefaultMood_SelectionChanged"/>
</Grid>
<Grid x:Name="OverlayAutoPreviewRow" Margin="0,0,0,12">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<StackPanel>
<TextBlock Text="문서 미리보기"
FontSize="12.5"
FontWeight="SemiBold"
Foreground="{DynamicResource PrimaryText}"/>
<TextBlock Text="파일 생성 시 오른쪽 프리뷰 패널을 자동으로 열지 정합니다."
Margin="0,4,0,0"
FontSize="11"
Foreground="{DynamicResource SecondaryText}"/>
</StackPanel>
<ComboBox x:Name="CmbOverlayAutoPreview"
Grid.Column="1"
MinWidth="160"
Style="{StaticResource OverlayComboBox}"
SelectionChanged="CmbOverlayAutoPreview_SelectionChanged">
<ComboBoxItem Content="자동 표시" Tag="auto"/>
<ComboBoxItem Content="수동" Tag="manual"/>
<ComboBoxItem Content="비활성화" Tag="off"/>
</ComboBox>
</Grid>
<Grid x:Name="OverlayPdfExportPathRow" Margin="0,0,0,12">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
@@ -3576,53 +3565,6 @@
Foreground="{DynamicResource PrimaryText}"
FontSize="12"/>
</Grid>
<StackPanel Margin="0,2,0,12">
<TextBlock Text="대화 관리"
FontSize="13"
FontWeight="SemiBold"
Foreground="{DynamicResource PrimaryText}"/>
<TextBlock Text="대화 보관 기간과 저장 공간 정리를 여기서 바로 관리합니다."
Margin="0,4,0,0"
FontSize="11"
Foreground="{DynamicResource SecondaryText}"/>
</StackPanel>
<Grid Margin="0,0,0,10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<StackPanel Margin="0,0,12,0">
<TextBlock Text="대화 보관 기간"
FontSize="12.5"
FontWeight="SemiBold"
Foreground="{DynamicResource PrimaryText}"/>
<TextBlock Text="설정 기간이 지나면 오래된 대화는 자동으로 정리됩니다."
Margin="0,4,0,0"
FontSize="11"
Foreground="{DynamicResource SecondaryText}"/>
</StackPanel>
<WrapPanel Grid.Column="1" HorizontalAlignment="Right">
<Button x:Name="BtnOverlayRetention7"
Content="7일"
Padding="10,6"
Margin="0,0,6,0"
Click="BtnOverlayRetention_Click"/>
<Button x:Name="BtnOverlayRetention30"
Content="30일"
Padding="10,6"
Margin="0,0,6,0"
Click="BtnOverlayRetention_Click"/>
<Button x:Name="BtnOverlayRetention90"
Content="90일"
Padding="10,6"
Margin="0,0,6,0"
Click="BtnOverlayRetention_Click"/>
<Button x:Name="BtnOverlayRetentionUnlimited"
Content="무제한"
Padding="10,6"
Click="BtnOverlayRetention_Click"/>
</WrapPanel>
</Grid>
<Border Background="{DynamicResource ItemBackground}"
BorderBrush="{DynamicResource BorderColor}"
BorderThickness="1"
@@ -3721,65 +3663,15 @@
Padding="0,12,0,0"
Margin="0,0,0,12">
<StackPanel>
<TextBlock Text="글로우 효과"
<TextBlock Text="채팅 글로우 효과"
FontSize="13"
FontWeight="SemiBold"
Foreground="{DynamicResource PrimaryText}"/>
<TextBlock Text="런처와 AX Agent의 글로우 연출을 여기서 조정합니다."
<TextBlock Text="AX Agent 채팅 입력창의 글로우 연출을 조정합니다. 런처 글로우는 트레이 아이콘 일반 설정에서 변경하세요."
Margin="0,4,0,10"
FontSize="11"
Foreground="{DynamicResource SecondaryText}"/>
<Border Style="{StaticResource OverlayAdvancedToggleRowStyle}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<StackPanel Margin="0,0,16,0">
<TextBlock Text="런처 무지개 글로우"
FontSize="12.5"
FontWeight="SemiBold"
Foreground="{DynamicResource PrimaryText}"/>
<TextBlock Text="AX Commander 테두리에 무지개 글로우를 표시합니다."
Margin="0,4,0,0"
FontSize="11.5"
TextWrapping="Wrap"
Foreground="{DynamicResource SecondaryText}"/>
</StackPanel>
<CheckBox x:Name="ChkOverlayEnableLauncherRainbowGlow"
Grid.Column="1"
VerticalAlignment="Center"
Style="{StaticResource ToggleSwitch}"
Checked="ChkOverlayFeatureToggle_Changed"
Unchecked="ChkOverlayFeatureToggle_Changed"/>
</Grid>
</Border>
<Border Style="{StaticResource OverlayAdvancedToggleRowStyle}" Margin="0,8,0,0">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<StackPanel Margin="0,0,16,0">
<TextBlock Text="런처 선택 글로우"
FontSize="12.5"
FontWeight="SemiBold"
Foreground="{DynamicResource PrimaryText}"/>
<TextBlock Text="선택된 런처 항목에 은은한 글로우를 표시합니다."
Margin="0,4,0,0"
FontSize="11.5"
TextWrapping="Wrap"
Foreground="{DynamicResource SecondaryText}"/>
</StackPanel>
<CheckBox x:Name="ChkOverlayEnableSelectionGlow"
Grid.Column="1"
VerticalAlignment="Center"
Style="{StaticResource ToggleSwitch}"
Checked="ChkOverlayFeatureToggle_Changed"
Unchecked="ChkOverlayFeatureToggle_Changed"/>
</Grid>
</Border>
<Border Style="{StaticResource OverlayAdvancedToggleRowStyle}" Margin="0,8,0,0">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
@@ -4047,7 +3939,7 @@
<Grid x:Name="OverlayTemperatureRow" Margin="0,8,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="220"/>
<ColumnDefinition Width="300"/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal" VerticalAlignment="Center">
<TextBlock Text="Temperature"
@@ -4068,34 +3960,63 @@
LineHeight="18"
MaxWidth="280">낮을수록 더 일관되고 정확한 답변 쪽으로, 높을수록 더 자유롭고 창의적인 답변 쪽으로 기울어집니다. 일반 업무형 응답은 0.7 전후가 기본값입니다.</TextBlock>
</ToolTip>
</Border.ToolTip>
</Border>
</Border.ToolTip>
</Border>
</StackPanel>
<StackPanel Grid.Column="1" Orientation="Horizontal" HorizontalAlignment="Right" VerticalAlignment="Center">
<Slider x:Name="SldOverlayTemperature"
Width="150"
Minimum="0"
Maximum="2"
TickFrequency="0.1"
IsSnapToTickEnabled="True"
ValueChanged="SldOverlayTemperature_ValueChanged"
VerticalAlignment="Center"/>
<Border Width="48"
Height="28"
Margin="10,0,0,0"
CornerRadius="8"
Background="{DynamicResource ItemBackground}"
BorderBrush="{DynamicResource BorderColor}"
BorderThickness="1">
<TextBlock x:Name="TxtOverlayTemperatureValue"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Foreground="{DynamicResource PrimaryText}"
FontSize="11.5"/>
</Border>
<TextBox x:Name="TxtOverlayTemperature"
Visibility="Collapsed"
LostFocus="TxtOverlayTemperature_LostFocus"/>
<StackPanel Grid.Column="1" HorizontalAlignment="Right" VerticalAlignment="Center">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Margin="0,0,0,6">
<Border x:Name="OverlayTemperatureAutoCard"
Cursor="Hand"
Margin="0,0,8,0"
Padding="10,5"
CornerRadius="10"
Background="{DynamicResource ItemBackground}"
BorderBrush="{DynamicResource BorderColor}"
BorderThickness="1"
MouseLeftButtonUp="OverlayTemperatureAutoCard_MouseLeftButtonUp">
<TextBlock Text="자동"
FontSize="11.5"
Foreground="{DynamicResource PrimaryText}"/>
</Border>
<Border x:Name="OverlayTemperatureCustomCard"
Cursor="Hand"
Padding="10,5"
CornerRadius="10"
Background="{DynamicResource ItemBackground}"
BorderBrush="{DynamicResource BorderColor}"
BorderThickness="1"
MouseLeftButtonUp="OverlayTemperatureCustomCard_MouseLeftButtonUp">
<TextBlock Text="사용자 지정"
FontSize="11.5"
Foreground="{DynamicResource PrimaryText}"/>
</Border>
</StackPanel>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right" VerticalAlignment="Center">
<Slider x:Name="SldOverlayTemperature"
Width="150"
Minimum="0"
Maximum="2"
TickFrequency="0.1"
IsSnapToTickEnabled="True"
ValueChanged="SldOverlayTemperature_ValueChanged"
VerticalAlignment="Center"/>
<Border Width="48"
Height="28"
Margin="10,0,0,0"
CornerRadius="8"
Background="{DynamicResource ItemBackground}"
BorderBrush="{DynamicResource BorderColor}"
BorderThickness="1">
<TextBlock x:Name="TxtOverlayTemperatureValue"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Foreground="{DynamicResource PrimaryText}"
FontSize="11.5"/>
</Border>
<TextBox x:Name="TxtOverlayTemperature"
Visibility="Collapsed"
LostFocus="TxtOverlayTemperature_LostFocus"/>
</StackPanel>
</StackPanel>
</Grid>
<Grid x:Name="OverlayMaxRetryRow" Margin="0,8,0,0">
@@ -5870,4 +5791,3 @@
</Window>