ChatX/chatclient/LoginWindow.xaml
XuShanQiXun f4e2d0be38 添加账户管理和界面优化
在 `ChatDataModel.cs` 中添加 `Account` 类以存储临时账户信息。
修改 `TrayIconManager.cs` 的窗口关闭事件处理,移除通知显示并优化设置逻辑。
更新 `chatapi.cs` 中的服务器 URL 和 IP 地址。
调整 `LoginWindow.xaml` 的尺寸并添加 `Loaded` 事件处理,确保用户名和密码输入框正确绑定。
在 `LoginWindow.xaml.cs` 中实现读取和保存临时登录信息的功能。
修改 `MainWindow.xaml` 的选项卡定义,确保用户信息和设置选项卡正确显示。
更新 `MainWindow.xaml.cs` 中的登录和注册处理逻辑,确保正确处理服务器返回消息并清理资源。
2025-06-08 07:34:58 +08:00

83 lines
5.7 KiB
XML

<Window
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:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
xmlns:local="clr-namespace:chatclient"
xmlns:mah="http://metro.mahapps.com/winfx/xaml/controls" x:Class="chatclient.LoginWindow"
mc:Ignorable="d"
Title="LoginWindow" Height="540" Width="330" MinHeight="540" MinWidth="330" MaxHeight="540" MaxWidth="330"
ResizeMode="NoResize" Closing="Window_Closing" Loaded="Window_Loaded">
<TabControl>
<TabItem Header="登录账号" Cursor="Hand" Height="40">
<Grid Background="#FFE5E5E5">
<Grid.RowDefinitions>
<RowDefinition Height="1.2*"/>
<RowDefinition Height="6*"/>
<RowDefinition Height="0.8*"/>
</Grid.RowDefinitions>
<Grid Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Top" Margin="10" Cursor="Hand">
<StackPanel>
<Grid>
<materialDesign:PackIcon Kind="LoginVariant" Width="48" Height="48" Margin="54,0,0,0" VerticalAlignment="Center"/>
<TextBlock Style="{StaticResource MaterialDesignHeadline3TextBlock}" Text="登录" HorizontalAlignment="Left" Margin="107,0,0,4"/>
</Grid>
<Grid Width="280">
<StackPanel>
<TextBox x:Name="NameBox" VerticalAlignment="Top" materialDesign:HintAssist.Hint="用户名" Text="{Binding UserName}" Style="{StaticResource MaterialDesignOutlinedTextBox}" Margin="0,2,0,5"/>
<PasswordBox x:Name="PasswoedBox" VerticalContentAlignment="Bottom" materialDesign:HintAssist.Hint="密码"
materialDesign:TextFieldAssist.HasClearButton="False" Margin="0,10,0,5"
materialDesign:PasswordBoxAssist.Password="{Binding UserPassword}"
Style="{StaticResource MaterialDesignOutlinedRevealPasswordBox}"/>
<Grid>
<CheckBox Content="记住我" IsChecked="{Binding SaveAccount}"/>
<TextBlock Text="{Binding LoginMsg}" Style="{StaticResource MaterialDesignBody2TextBlock}" HorizontalAlignment="Right" Foreground="#FFCC3333"/>
</Grid>
<Button Content="登录" Margin="0,20,0,0" Click="Login_Click" Style="{StaticResource MaterialDesignRaisedButton}" ToolTip="登录账号" FontWeight="Normal"/>
</StackPanel>
</Grid>
</StackPanel>
</Grid>
</Grid>
</TabItem>
<TabItem Header="注册账号" Height="40">
<Grid Background="#FFE5E5E5">
<Grid.RowDefinitions>
<RowDefinition Height="0.8*"/>
<RowDefinition Height="6*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<Grid Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Top" Margin="10" Cursor="Hand">
<StackPanel>
<Grid>
<materialDesign:PackIcon Kind="LoginVariant" Width="48" Height="48" Margin="54,0,0,0" VerticalAlignment="Center"/>
<TextBlock Style="{StaticResource MaterialDesignHeadline3TextBlock}" Text="注册" HorizontalAlignment="Left" Margin="107,0,0,4"/>
</Grid>
<Grid Width="280">
<StackPanel>
<TextBox VerticalAlignment="Top" materialDesign:HintAssist.Hint="用户名" Text="{Binding SignName}" Style="{StaticResource MaterialDesignOutlinedTextBox}" Margin="0,2,0,5"/>
<PasswordBox VerticalContentAlignment="Bottom" materialDesign:HintAssist.Hint="密码"
materialDesign:TextFieldAssist.HasClearButton="False" Margin="0,10,0,5"
materialDesign:PasswordBoxAssist.Password="{Binding SignPassword1}"
Style="{StaticResource MaterialDesignOutlinedRevealPasswordBox}"/>
<PasswordBox VerticalContentAlignment="Bottom" materialDesign:HintAssist.Hint="确认密码"
materialDesign:TextFieldAssist.HasClearButton="False" Margin="0,10,0,5"
materialDesign:PasswordBoxAssist.Password="{Binding SignPassword2}"
Style="{StaticResource MaterialDesignOutlinedRevealPasswordBox}"/>
<Grid>
<CheckBox Content="记住我" IsChecked="{Binding SaveAccount}"/>
<TextBlock Text="{Binding SignMsg}" Style="{StaticResource MaterialDesignBody2TextBlock}" HorizontalAlignment="Right" Foreground="#FFCC3333"/>
</Grid>
<Button Content="注册" Margin="0,20,0,0" Click="Sign_Click" Style="{StaticResource MaterialDesignRaisedButton}" ToolTip="注册账号" FontWeight="Normal"/>
</StackPanel>
</Grid>
</StackPanel>
</Grid>
</Grid>
</TabItem>
</TabControl>
</Window>