Files
community/Ink Canvas/Windows/DlassSettingsWindow.xaml
T

421 lines
29 KiB
XML
Raw Normal View History

2025-11-02 09:29:06 +08:00
<Window x:Class="Ink_Canvas.Windows.DlassSettingsWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:ui="http://schemas.inkore.net/lib/ui/wpf/modern"
xmlns:controls="clr-namespace:Ink_Canvas.Windows.Controls"
mc:Ignorable="d"
WindowStyle="None"
Title="Dlass设置管理" Height="600" Width="900"
WindowStartupLocation="CenterScreen"
ResizeMode="CanResize"
AllowsTransparency="True"
Background="Transparent">
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Controls/WinUI3CloseButton.xaml" />
</ResourceDictionary.MergedDictionaries>
<SolidColorBrush x:Key="WindowBackground" Color="#1e1e1e"/>
<SolidColorBrush x:Key="BorderBrush" Color="#3f3f46"/>
<SolidColorBrush x:Key="TextForeground" Color="#fafafa"/>
<SolidColorBrush x:Key="TextSecondary" Color="#a1a1aa"/>
<SolidColorBrush x:Key="AccentColor" Color="#3b82f6"/>
<SolidColorBrush x:Key="TitleForeground" Color="#fafafa"/>
<SolidColorBrush x:Key="NewTimerWindowButtonForeground" Color="White"/>
</ResourceDictionary>
</Window.Resources>
<Border Background="{StaticResource WindowBackground}"
BorderBrush="{StaticResource BorderBrush}"
BorderThickness="1"
CornerRadius="15"
Margin="10"
x:Name="MainBorder"
MouseLeftButtonDown="TitleBar_MouseLeftButtonDown">
<Grid>
<controls:WinUI3CloseButton x:Name="BtnClose"
HorizontalAlignment="Right" VerticalAlignment="Top"
Margin="0,0,0,0" Cursor="Hand" Click="BtnClose_Click"
Content="✕"/>
<!-- 主要内容区域 -->
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<!-- 标题栏 -->
<Grid Grid.Row="0"
Height="50"
Background="{StaticResource WindowBackground}"
x:Name="TitleBar"
VerticalAlignment="Top"
MouseLeftButtonDown="TitleBar_MouseLeftButtonDown"
Margin="0,0,46,0">
<StackPanel Orientation="Horizontal"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Margin="22,0,0,0">
<!-- 设置图标 -->
<Path Data="M12 15.5A3.5 3.5 0 0 1 8.5 12A3.5 3.5 0 0 1 12 8.5A3.5 3.5 0 0 1 15.5 12A3.5 3.5 0 0 1 12 15.5M19.43 12.97C19.47 12.65 19.5 12.33 19.5 12C19.5 11.67 19.47 11.34 19.43 11.03L21.54 9.37C21.73 9.22 21.78 8.95 21.66 8.73L19.66 5.27C19.54 5.05 19.27 4.96 19.05 5.05L16.56 6.05C16.04 5.65 15.5 5.32 14.87 5.07L14.5 2.42C14.46 2.18 14.25 2 14 2H10C9.75 2 9.54 2.18 9.5 2.42L9.13 5.07C8.5 5.32 7.96 5.66 7.44 6.05L4.95 5.05C4.73 4.96 4.46 5.05 4.35 5.27L2.35 8.73C2.23 8.95 2.27 9.22 2.46 9.37L4.57 11.03C4.53 11.34 4.5 11.67 4.5 12C4.5 12.33 4.53 12.65 4.57 12.97L2.46 14.63C2.27 14.78 2.23 15.05 2.35 15.27L4.35 18.73C4.46 18.95 4.73 19.03 4.95 18.95L7.44 17.95C7.96 18.34 8.5 18.68 9.13 18.93L9.5 21.58C9.54 21.82 9.75 22 10 22H14C14.25 22 14.46 21.82 14.5 21.58L14.87 18.93C15.5 18.67 16.04 18.34 16.56 17.95L19.05 18.95C19.27 19.03 19.54 18.95 19.66 18.73L21.66 15.27C21.78 15.05 21.73 14.78 21.54 14.63L19.43 12.97Z"
Stroke="{StaticResource TitleForeground}"
StrokeThickness="1.5"
StrokeLineJoin="Round"
Fill="Transparent"
Width="24" Height="24"
Stretch="Uniform"
Margin="0,0,8,0"/>
<!-- 标题文字 -->
<TextBlock Text="Dlass设置管理"
FontSize="28"
FontWeight="Bold"
Foreground="{StaticResource TitleForeground}"
x:Name="TitleText"/>
</StackPanel>
</Grid>
<!-- 主内容区 -->
<Border Grid.Row="1"
Background="{StaticResource WindowBackground}"
Padding="20,10,20,20">
<ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled">
<ui:SimpleStackPanel Spacing="16">
<!-- 内容区域 -->
<Border BorderThickness="1"
BorderBrush="{StaticResource BorderBrush}"
CornerRadius="8"
Padding="20"
Background="#27272a">
<ui:SimpleStackPanel Spacing="16">
<TextBlock Text="Dlass设置管理"
FontSize="18"
FontWeight="SemiBold"
Foreground="{StaticResource TextForeground}"/>
<TextBlock Text="管理您的Dlass服务端连接和设置。"
FontSize="14"
Foreground="{StaticResource TextSecondary}"
TextWrapping="Wrap"
Margin="0,0,0,8"/>
<Line HorizontalAlignment="Stretch"
X1="0" Y1="0" X2="1" Y2="0"
Stroke="{StaticResource BorderBrush}"
StrokeThickness="1"
Margin="0,8,0,12"/>
<!-- 用户Token设置 -->
<TextBlock Text="用户Token"
FontSize="16"
FontWeight="SemiBold"
Foreground="{StaticResource TextForeground}"
Margin="0,0,0,8"/>
<TextBlock Text="设置您的用户Token以访问Dlass服务端功能。您可以从Dlass平台获取您的用户Token。"
FontSize="12"
Foreground="{StaticResource TextSecondary}"
TextWrapping="Wrap"
Margin="0,0,0,12"/>
<ui:SimpleStackPanel Orientation="Vertical" Spacing="8">
<ComboBox x:Name="CmbSavedTokens"
FontSize="14"
Padding="12,8"
Background="#18181b"
Foreground="{StaticResource TextForeground}"
BorderBrush="{StaticResource BorderBrush}"
BorderThickness="1"
MinHeight="36"
IsEditable="False"
IsReadOnly="True"
SelectionChanged="CmbSavedTokens_SelectionChanged">
</ComboBox>
<TextBox x:Name="TxtNewToken"
FontSize="14"
Padding="12,8"
Background="#18181b"
Foreground="{StaticResource TextForeground}"
BorderBrush="{StaticResource BorderBrush}"
BorderThickness="1"
TextWrapping="Wrap"
AcceptsReturn="False"
MaxLength="500"
MinHeight="36"
Tag="输入新的Token">
<TextBox.Style>
<Style TargetType="TextBox">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TextBox">
<Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
CornerRadius="6"
Padding="{TemplateBinding Padding}">
<ScrollViewer x:Name="PART_ContentHost" />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</TextBox.Style>
</TextBox>
<ui:SimpleStackPanel Orientation="Horizontal" Spacing="8">
<Button x:Name="BtnSaveToken"
Content="保存Token"
Padding="12,6"
FontSize="13"
Background="{StaticResource AccentColor}"
Foreground="White"
BorderThickness="0"
Cursor="Hand"
Click="BtnSaveToken_Click">
<Button.Style>
<Style TargetType="Button">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border Background="{TemplateBinding Background}"
CornerRadius="6"
Padding="{TemplateBinding Padding}">
<ContentPresenter HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#2563eb"/>
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Background" Value="#1d4ed8"/>
</Trigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
<Button x:Name="BtnClearToken"
Content="清除Token"
Padding="12,6"
FontSize="13"
Background="Transparent"
Foreground="{StaticResource TextForeground}"
BorderThickness="1"
BorderBrush="{StaticResource BorderBrush}"
Cursor="Hand"
Click="BtnClearToken_Click">
<Button.Style>
<Style TargetType="Button">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
CornerRadius="6"
Padding="{TemplateBinding Padding}">
<ContentPresenter HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#27272a"/>
</Trigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
<Button x:Name="BtnTestToken"
Content="测试连接"
Padding="12,6"
FontSize="13"
Background="Transparent"
Foreground="{StaticResource TextForeground}"
BorderThickness="1"
BorderBrush="{StaticResource BorderBrush}"
Cursor="Hand"
Click="BtnTestToken_Click">
<Button.Style>
<Style TargetType="Button">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
CornerRadius="6"
Padding="{TemplateBinding Padding}">
<ContentPresenter HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#27272a"/>
</Trigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
</ui:SimpleStackPanel>
<TextBlock x:Name="TxtTokenStatus"
Text=""
FontSize="12"
Foreground="{StaticResource TextSecondary}"
Margin="0,4,0,0"/>
</ui:SimpleStackPanel>
2025-11-02 09:41:53 +08:00
<Line HorizontalAlignment="Stretch"
X1="0" Y1="0" X2="1" Y2="0"
Stroke="{StaticResource BorderBrush}"
StrokeThickness="1"
Margin="0,12,0,8"/>
<!-- 班级选择 -->
<TextBlock Text="班级选择"
FontSize="16"
FontWeight="SemiBold"
Foreground="{StaticResource TextForeground}"
Margin="0,0,0,8"/>
<TextBlock Text="连接成功后,将自动加载可用班级列表。"
FontSize="12"
Foreground="{StaticResource TextSecondary}"
TextWrapping="Wrap"
Margin="0,0,0,8"/>
<ComboBox x:Name="CmbClassSelection"
FontSize="14"
Padding="12,8"
Background="#18181b"
Foreground="{StaticResource TextForeground}"
BorderBrush="{StaticResource BorderBrush}"
BorderThickness="1"
MinHeight="36"
IsEditable="False"
IsReadOnly="True"
SelectionChanged="CmbClassSelection_SelectionChanged">
</ComboBox>
2025-11-02 09:29:06 +08:00
<Line HorizontalAlignment="Stretch"
X1="0" Y1="0" X2="1" Y2="0"
Stroke="{StaticResource BorderBrush}"
StrokeThickness="1"
Margin="0,12,0,8"/>
<!-- 连接状态 -->
<ui:SimpleStackPanel Orientation="Horizontal" Spacing="12">
<TextBlock Text="连接状态:"
FontSize="14"
Foreground="{StaticResource TextForeground}"
VerticalAlignment="Center"
Width="100"/>
<TextBlock x:Name="TxtConnectionStatus"
Text="未连接"
FontSize="14"
Foreground="{StaticResource TextSecondary}"
VerticalAlignment="Center"/>
</ui:SimpleStackPanel>
<Line HorizontalAlignment="Stretch"
X1="0" Y1="0" X2="1" Y2="0"
Stroke="{StaticResource BorderBrush}"
StrokeThickness="1"
Margin="0,8,0,12"/>
<!-- 操作按钮 -->
<ui:SimpleStackPanel Orientation="Horizontal" Spacing="12" Margin="0,8,0,0">
<Button Content="保存"
Padding="16,8"
FontSize="14"
Background="{StaticResource AccentColor}"
Foreground="White"
BorderThickness="0"
Cursor="Hand"
Click="BtnSave_Click">
<Button.Style>
<Style TargetType="Button">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border Background="{TemplateBinding Background}"
CornerRadius="4"
Padding="{TemplateBinding Padding}">
<ContentPresenter HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#2563eb"/>
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Background" Value="#1d4ed8"/>
</Trigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
<Button Content="取消"
Padding="16,8"
FontSize="14"
Background="Transparent"
Foreground="{StaticResource TextForeground}"
BorderThickness="1"
BorderBrush="{StaticResource BorderBrush}"
Cursor="Hand"
Click="BtnCancel_Click">
<Button.Style>
<Style TargetType="Button">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
CornerRadius="4"
Padding="{TemplateBinding Padding}">
<ContentPresenter HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#27272a"/>
</Trigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
</ui:SimpleStackPanel>
</ui:SimpleStackPanel>
</Border>
</ui:SimpleStackPanel>
</ScrollViewer>
</Border>
</Grid>
</Grid>
</Border>
</Window>