VideoConcat/Views/MainWindow.xaml
2025-08-12 00:13:45 +08:00

142 lines
7.0 KiB
XML

<Window x:Class="VideoConcat.Views.MainWindow"
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:Icon="http://metro.mahapps.com/winfx/xaml/iconpacks"
xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf"
xmlns:local="clr-namespace:VideoConcat.Views"
xmlns:vm="clr-namespace:VideoConcat.ViewModels"
xmlns:conv="clr-namespace:VideoConcat.Conversions"
mc:Ignorable="d"
Width="1100" Height="800" WindowStartupLocation="CenterScreen"
ResizeMode="NoResize"
Title="工具">
<Window.Resources>
<Style x:Key="BottomButton" TargetType="Button">
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Foreground" Value="#FFFFFF"/>
<Setter Property="Width" Value="50"/>
<Setter Property="Height" Value="50"/>
<Setter Property="BorderBrush" Value="White"/>
<Setter Property="BorderThickness" Value="2,2,2,2"/>
<Setter Property="Margin" Value="1"/>
<Setter Property="FocusVisualStyle" Value="{x:Null}"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border Background="{TemplateBinding Background}" CornerRadius="5">
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#5a5080"/>
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Background" Value="#FFFFFF"/>
<Setter Property="BorderBrush" Value="GreenYellow"/>
<Setter Property="BorderThickness" Value="2,2,2,2"/>
</Trigger>
</Style.Triggers>
</Style>
<Style x:Key="MenuButton" TargetType="RadioButton">
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Foreground" Value="#FFFFFF"/>
<Setter Property="Width" Value="50"/>
<Setter Property="Height" Value="50"/>
<Setter Property="BorderBrush" Value="Black"/>
<Setter Property="BorderThickness" Value="2,2,2,2"/>
<Setter Property="Margin" Value="1"/>
<Setter Property="FocusVisualStyle" Value="{x:Null}"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="RadioButton">
<Border Background="{TemplateBinding Background}" CornerRadius="5">
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#5a5080"/>
</Trigger>
<Trigger Property="IsChecked" Value="True">
<Setter Property="Background" Value="Brown"/>
<Setter Property="BorderBrush" Value="Black"/>
<Setter Property="BorderThickness" Value="2,2,2,2"/>
</Trigger>
<!-- 按下状态 -->
<Trigger Property="IsPressed" Value="True">
<Setter Property="Background" Value="#D0D0D0"/>
</Trigger>
</Style.Triggers>
</Style>
<Style x:Key="MenuButtonIcon" TargetType="Icon:PackIconMaterial">
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Foreground" Value="White"/>
<Setter Property="BorderBrush" Value="White"/>
<Setter Property="Width" Value="24"/>
<Setter Property="Height" Value="18"/>
</Style>
</Window.Resources>
<Border Background="#cfd5e5" CornerRadius="5" BorderThickness="2" BorderBrush="#ebedf3" Padding="2" MouseDown="Border_MouseDown">
<Border CornerRadius="5">
<Border.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
<GradientStop Color="#fefefe" Offset="0" />
<GradientStop Color="#ededef" Offset="1" />
</LinearGradientBrush>
</Border.Background>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="70" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<!--Left Menu-->
<Border Background="#7163ba" CornerRadius="5" BorderThickness="2" BorderBrush="#ebedf3" Margin="2">
<Grid>
<StackPanel VerticalAlignment="Top">
<RadioButton GroupName="OptionsGroup" Name="video" Style="{StaticResource MenuButton}" Checked="RadioButton_Checked" >
<StackPanel HorizontalAlignment="Center">
<Icon:PackIconMaterial Kind="VideoBox" Style="{StaticResource MenuButtonIcon}"/>
<TextBlock>视频</TextBlock>
</StackPanel>
</RadioButton>
<Separator></Separator>
<RadioButton GroupName="OptionsGroup" Name="extract" Style="{StaticResource MenuButton}" Checked="RadioButton_Checked">
<StackPanel HorizontalAlignment="Center">
<Icon:PackIconMaterial Kind="VideoCheck" Style="{StaticResource MenuButtonIcon}"/>
<TextBlock>抽帧</TextBlock>
</StackPanel>
</RadioButton>
<Separator></Separator>
</StackPanel>
<StackPanel VerticalAlignment="Bottom">
<Button Style="{StaticResource BottomButton}">
<Icon:PackIconMaterial Kind="Account" Style="{StaticResource MenuButtonIcon}"/>
</Button>
</StackPanel>
</Grid>
</Border>
<!--Main Section-->
<Border Grid.Column="1" CornerRadius="5" BorderThickness="2" BorderBrush="#ebedf3" Margin="2">
<Grid x:Name="mainGrid">
</Grid>
</Border>
</Grid>
</Border>
</Border>
</Window>