리크 테스트 gui
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

129 lines
8.1 KiB

<Window x:Class="leak_test_project.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:viewmodels="clr-namespace:leak_test_project.ViewModels"
Title="Pressure Leak Inspect System" Height="800" Width="1024"
MinWidth="1150" MinHeight="700"
WindowState="Maximized" Background="#F0F0F0" WindowStyle="None">
<Window.DataContext>
<viewmodels:MainViewModel/>
</Window.DataContext>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="55"/> <!-- Increased slightly for visibility -->
<RowDefinition Height="*"/>
<RowDefinition Height="75"/> <!-- Increased slightly for visibility -->
</Grid.RowDefinitions>
<!-- Top Bar: Unified Dark Blue Theme -->
<Border Grid.Row="0" Background="#2C3E50" BorderBrush="#1A252F" BorderThickness="0,0,0,2" MouseLeftButtonDown="TopBar_MouseLeftButtonDown">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="0" Orientation="Horizontal" VerticalAlignment="Center" Margin="20,0,0,0">
<TextBlock Text="Pressure Leak Inspect System" Foreground="White" FontSize="24" FontWeight="Bold"/>
</StackPanel>
<!-- Info Box -->
<StackPanel Grid.Column="1" Orientation="Horizontal" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,0,20,0">
<Border Background="#34495E" CornerRadius="4" Padding="15,5" BorderBrush="#1A252F" BorderThickness="1" Margin="0,0,8,0">
1 week ago
<TextBlock x:Name="txtCurrentDateTime" Text="2026-03-25 [수] 10:30:00" Foreground="White" FontSize="17
" FontWeight="SemiBold" VerticalAlignment="Center"/>
</Border>
<Border Background="#34495E" CornerRadius="4" Padding="15,5" BorderBrush="#1A252F" BorderThickness="1">
<TextBlock Text="Ver. 1.0.0 | Updated 2026-04-03" Foreground="#BDC3C7" FontSize="11" VerticalAlignment="Center"/>
</Border>
</StackPanel>
<!-- System Buttons -->
<StackPanel Grid.Column="2" Orientation="Horizontal" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,0,10,0">
<Button Width="40" Height="40" Background="Transparent" BorderThickness="0" Click="BtnMinimize_Click" ToolTip="최소화">
<TextBlock Text="0" FontFamily="Marlett" FontSize="18" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Button>
<Button x:Name="btnMaximize" Width="40" Height="40" Background="Transparent" BorderThickness="0" Click="BtnMaximize_Click" ToolTip="창 모드">
<TextBlock x:Name="txtMaximizeIcon" Text="2" FontFamily="Marlett" FontSize="18" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Button>
<Button Width="40" Height="40" Background="Transparent" BorderThickness="0" Command="{Binding ExitCommand}" ToolTip="프로그램 종료">
<TextBlock Text="r" FontFamily="Marlett" FontSize="18" Foreground="#E74C3C" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Button>
</StackPanel>
</Grid>
</Border>
<!-- Main Content Area -->
<ContentControl Grid.Row="1" Content="{Binding CurrentViewModel}" />
<!-- Bottom Menu: Unified Aesthetics -->
<Border Grid.Row="2" Background="#D5DBDB" BorderBrush="#AEB6BF" BorderThickness="0,2,0,0">
<Grid>
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" Margin="15,0">
<StackPanel.Resources>
<Style TargetType="Button">
<Setter Property="Width" Value="140"/>
<Setter Property="Height" Value="55"/>
<Setter Property="Margin" Value="0,0,10,0"/>
<Setter Property="Background" Value="#F2F4F4"/>
<Setter Property="BorderBrush" Value="#85929E"/>
<Setter Property="BorderThickness" Value="1.5"/>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#E5E8E8"/>
</Trigger>
</Style.Triggers>
</Style>
<Style TargetType="TextBlock">
<Setter Property="FontSize" Value="14"/>
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="Foreground" Value="#2C3E50"/>
<Setter Property="HorizontalAlignment" Value="Center"/>
</Style>
</StackPanel.Resources>
<Button Command="{Binding NavigateInOutCommand}">
<StackPanel>
<TextBlock Text="I/O Monitor" FontSize="14"/>
<TextBlock Text="(입출력 감시)" FontSize="10" FontWeight="Normal" Foreground="#566573"/>
</StackPanel>
</Button>
<Button Command="{Binding NavigateDataCommand}">
<StackPanel>
<TextBlock Text="Data" FontSize="14"/>
<TextBlock Text="(측정 데이터)" FontSize="10" FontWeight="Normal" Foreground="#566573"/>
</StackPanel>
</Button>
<Button Command="{Binding NavigateParametersCommand}">
<StackPanel>
<TextBlock Text="Parameters" FontSize="14"/>
<TextBlock Text="(시험 설정)" FontSize="10" FontWeight="Normal" Foreground="#566573"/>
</StackPanel>
</Button>
<Button Command="{Binding NavigateCommunicationCommand}">
<StackPanel>
<TextBlock Text="Comm. Settings" FontSize="14"/>
<TextBlock Text="(통신 설정)" FontSize="10" FontWeight="Normal" Foreground="#566573"/>
</StackPanel>
</Button>
1 week ago
<Button Command="{Binding ReadIdTestCommand}" CommandParameter="0">
<StackPanel>
<TextBlock Text="ID Test (L)" FontSize="14" Foreground="#2980B9"/>
<TextBlock Text="(좌측 ID 테스트)" FontSize="10" FontWeight="Normal" Foreground="#566573"/>
</StackPanel>
</Button>
<Button Command="{Binding ReadIdTestCommand}" CommandParameter="1">
<StackPanel>
<TextBlock Text="ID Test (R)" FontSize="14" Foreground="#2980B9"/>
<TextBlock Text="(우측 ID 테스트)" FontSize="10" FontWeight="Normal" Foreground="#566573"/>
</StackPanel>
</Button>
</StackPanel>
</Grid>
</Border>
</Grid>
</Window>