| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- <pu:WindowX x:Class="SWRIS.MainWindow"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:cvt="clr-namespace:SWRIS.Converters"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:local="clr-namespace:SWRIS"
- WindowStyle="None"
- FontFamily="{StaticResource PuHuiTiRegular}"
- ResizeMode="CanMinimize"
- Title="{Binding AppName}"
- Foreground="#FFFFFF"
- xmlns:pu="clr-namespace:Panuon.WPF.UI;assembly=Panuon.WPF.UI"
- xmlns:vm="clr-namespace:SWRIS.Models.ViewModel"
- xmlns:extension="clr-namespace:SWRIS.Extensions"
- xmlns:ctr="clr-namespace:SWRIS.Controls"
- d:DataContext="{d:DesignInstance Type=vm:MainViewModel}"
- MaskBrush="#66000000"
- mc:Ignorable="d"
- Closing="Window_Closing"
- Background="#141332"
- WindowState="Maximized"
- Left="0" Top="0"
- Loaded="WindowX_Loaded"
- pu:WindowXCaption.Height="0">
- <Window.Resources>
- <cvt:MenuNameToPositionConverter x:Key="MenuNameToPositionConverter"/>
- <cvt:MenuNameToColorConverter x:Key="MenuNameToColorConverter"/>
- <cvt:StringEmptyToVisibilityConverter x:Key="StringEmptyToVisibilityConverter"/>
- <cvt:TrolleysToVisibilityConverter x:Key="TrolleysToVisibilityConverter"/>
- </Window.Resources>
- <!-- 外层 Grid 占满整个窗口 -->
- <Grid>
- <!-- 关键:使用 ViewBox 包裹内容,设定基准分辨率为 1920x1080 -->
- <!-- Stretch="Uniform" 保证等比例缩放,不会变形 -->
- <Viewbox Stretch="Uniform">
- <Grid x:Name="RootGrid" Width="1920" Height="1080">
- <Grid.RowDefinitions>
- <!-- 这里的行高保持你原来的设计值 -->
- <RowDefinition Height="90"/>
- <RowDefinition Height="*"/>
- <RowDefinition Height="35"/>
- </Grid.RowDefinitions>
- <!-- 顶部菜单区域 -->
- <StackPanel Orientation="Horizontal" Grid.Row="0"
- Grid.ColumnSpan="2"
- pu:WindowX.IsDragMoveArea="True"
- MouseDown="StackPanel_MouseDown">
- <StackPanel.Background>
- <ImageBrush ImageSource="/Resources/menu_bg.png"/>
- </StackPanel.Background>
- <Grid>
- <Grid.ColumnDefinitions>
- <!-- 这里的列宽保持原设计值,ViewBox会自动缩放 -->
- <ColumnDefinition Width="700"/>
- <ColumnDefinition Width="430"/>
- <ColumnDefinition Width="340"/>
- <ColumnDefinition Width="*"/>
- </Grid.ColumnDefinitions>
- <!-- Logo 区域 -->
- <StackPanel Orientation="Horizontal" Grid.Column="0">
- <Image Source="/Resources/logo.png" Margin="56,19,19,20"/>
- <TextBlock Text="{Binding AppName}"
- VerticalAlignment="Center"
- FontSize="40"
- FontWeight="Bold"
- FontFamily="{StaticResource PuHuiTiRegular}"/>
- </StackPanel>
- <!-- 动态菜单区域 (包含下划线动画) -->
- <Canvas Grid.Column="1">
- <!-- 下划线图片 -->
- <Image x:Name="popupImage"
- Source="/Resources/menu_dec.png"
- Width="300"
- Canvas.Left="{Binding CurrentPage,Mode=TwoWay,Converter={StaticResource MenuNameToPositionConverter}}"/>
- <!-- 菜单文字 -->
- <StackPanel Orientation="Horizontal">
- <TextBlock Text="主页" Tag="Home" FontWeight="Bold" FontFamily="{StaticResource PuHuiTiRegular}" FontSize="30" Padding="30,0"
- Margin="90,25,20,25" Cursor="Hand"
- Foreground="{Binding CurrentPage,Converter={StaticResource MenuNameToColorConverter},ConverterParameter=Home}"
- MouseDown="Menu_MouseDown"/>
- <TextBlock Text="记录" Tag="Record" FontWeight="Bold" FontFamily="{StaticResource PuHuiTiRegular}" FontSize="30" Padding="30,0"
- Margin="20,25,90,25" Cursor="Hand"
- Foreground="{Binding CurrentPage,Converter={StaticResource MenuNameToColorConverter},ConverterParameter=Record}"
- MouseDown="Menu_MouseDown"/>
- </StackPanel>
- </Canvas>
- <!-- 实例切换区域 -->
- <ItemsControl Grid.Column="2" ItemsSource="{Binding SwitchInstances}">
- <ItemsControl.ItemsPanel>
- <ItemsPanelTemplate>
- <StackPanel Margin="0,-20,0,0" Orientation="Horizontal" HorizontalAlignment="Left"/>
- </ItemsPanelTemplate>
- </ItemsControl.ItemsPanel>
- <ItemsControl.ItemTemplate>
- <DataTemplate>
- <Border Background="#3650BE" Width="105" Height="75" Tag="{Binding ProgressName}"
- CornerRadius="0,0,15,15" Margin="10,0"
- MouseLeftButtonDown="SwitchToInstance_MouseDown" Cursor="Hand">
- <StackPanel Orientation="Vertical" VerticalAlignment="Center">
- <Image Source="{Binding ImageSource}" Width="34" Margin="3"/>
- <TextBlock Text="{Binding InstanceName}" FontSize="18" FontWeight="Bold"
- HorizontalAlignment="Center" Foreground="#AEBAE8"/>
- </StackPanel>
- </Border>
- </DataTemplate>
- </ItemsControl.ItemTemplate>
- </ItemsControl>
- <!-- 右侧工具栏 -->
- <StackPanel Orientation="Horizontal" Grid.Column="3" HorizontalAlignment="Right" Margin="0,0,0,0">
- <StackPanel Orientation="Vertical" Margin="50,0,0,0" VerticalAlignment="Center">
- <TextBlock Text="{Binding SystemTime.Date,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
- FontSize="20" FontWeight="Bold" LineHeight="18" LineStackingStrategy="BlockLineHeight"/>
- <TextBlock Text="{Binding SystemTime.Time,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
- FontSize="34" FontWeight="Bold" FontFamily="{StaticResource PuHuiTiRegular}"
- LineHeight="38" LineStackingStrategy="BlockLineHeight"/>
- </StackPanel>
- <Image Source="/Resources/setting.png" MouseDown="Setting_MouseDown" Margin="35,0,0,0" Width="64" Cursor="Hand"/>
- <Image Source="/Resources/minimize.png" MouseDown="Minimize_MouseDown" Width="42" Margin="25,0,0,0" Cursor="Hand"/>
- <Image Source="/Resources/closed.png" MouseDown="Close_MouseDown" Width="42" Margin="25,0,0,0" Cursor="Hand"/>
- </StackPanel>
- </Grid>
- </StackPanel>
- <!-- 中间内容区域 -->
- <Frame x:Name="Main_Frame" Grid.Row="1" NavigationUIVisibility="Hidden" />
- <!-- 底部状态栏 -->
- <DockPanel Grid.Row="3" Margin="20 0" Grid.ColumnSpan="2">
- <StackPanel Orientation="Horizontal" Margin="5,5"
- Visibility="{Binding DebugMessage.Message,Converter={StaticResource StringEmptyToVisibilityConverter}}">
- <TextBlock Text="" FontSize="17" FontFamily="{StaticResource PanuonIconFont}" VerticalAlignment="Center" Foreground="#7F74FF"/>
- <TextBlock Text="{Binding DebugMessage.DateTime,StringFormat=HH:mm:ss}" FontSize="16" Margin="5,0"
- VerticalAlignment="Center"
- Foreground="#7F74FF"/>
- <TextBlock Text="{Binding DebugMessage.Message}" FontSize="16" Margin="5,0"
- VerticalAlignment="Center"
- Foreground="#7F74FF"/>
- </StackPanel>
- <StackPanel Orientation="Horizontal" HorizontalAlignment="Right" VerticalAlignment="Center">
- <TextBlock FontSize="18" Text="版本 " Foreground="#5B7098"/>
- <TextBlock FontSize="18" Text="{Binding Version}" Margin="0,0,30,0" Foreground="#5B7098"/>
- <TextBlock FontSize="18" Text="©" Foreground="#5B7098"/>
- <TextBlock Text="{Binding Copyright}" FontSize="18" Foreground="#5B7098"/>
- </StackPanel>
- </DockPanel>
- </Grid>
- </Viewbox>
- </Grid>
- </pu:WindowX>
|