ChatX/chatclient/MainWindow.xaml

113 lines
6.5 KiB
XML

<Window x:Class="chatclient.MainWindow"
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"
mc:Ignorable="d"
Title="ChatWindow" Height="450" Width="800" MinHeight="240" MinWidth="380"
Style="{StaticResource MaterialDesignWindow}">
<Grid>
<materialDesign:Card>
<TabControl VerticalContentAlignment="Bottom" materialDesign:ColorZoneAssist.Mode="PrimaryMid" Style="{StaticResource MaterialDesignNavigationRailTabControl}">
<materialDesign:NavigationRailAssist.FloatingContent>
<StackPanel>
<Button Style="{StaticResource MaterialDesignFloatingActionMiniLightButton}" Margin="12" >
<Image Source="/user.png" />
</Button>
<TextBlock Text="{Binding Username}"/>
</StackPanel>
</materialDesign:NavigationRailAssist.FloatingContent>
<TabItem>
<TabItem.Header>
<StackPanel Width="auto" Height="auto">
<materialDesign:PackIcon Width="24" Height="24" HorizontalAlignment="Center" Kind="Message" />
<TextBlock HorizontalAlignment="Center" Text="消息" />
</StackPanel>
</TabItem.Header>
<Grid>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<!-- 标题栏 -->
<RowDefinition Height="*"/>
<!-- 消息区域 -->
<RowDefinition Height="Auto"/>
<!-- 输入区域 -->
</Grid.RowDefinitions>
<!-- 标题栏 -->
<materialDesign:Card Grid.Row="0" Padding="10" Margin="0,0,0,5">
<StackPanel Orientation="Horizontal">
<TextBlock Text="聊天室" FontSize="16" FontWeight="Bold"
VerticalAlignment="Center" Margin="5,0" Cursor="Hand"/>
<!--<Button x:Name="btnRefresh" Style="{StaticResource MaterialDesignIconButton}"
ToolTip="刷新列表" Click="RefreshContacts_Click" Margin="5,0,10,0">
<materialDesign:PackIcon Kind="Refresh"/>
</Button>-->
<!--<ComboBox x:Name="cmbContacts" Width="150" Margin="5,0"
materialDesign:HintAssist.Hint="选择联系人"
DisplayMemberPath="DisplayName"/>-->
</StackPanel>
</materialDesign:Card>
<!-- 消息区域 -->
<ScrollViewer x:Name="messageScroller" Grid.Row="1" VerticalScrollBarVisibility="Auto"
Padding="10" Background="{DynamicResource MaterialDesignPaper}">
<ItemsControl x:Name="messageList">
<ItemsControl.ItemTemplate>
<DataTemplate>
<materialDesign:Card Margin="0,5" Padding="10"
HorizontalAlignment="{Binding Alignment}">
<StackPanel>
<TextBlock Text="{Binding Sender}" FontWeight="Bold"
Foreground="{Binding SenderColor}"/>
<TextBlock Text="{Binding Content}" TextWrapping="Wrap"
Margin="0,5,0,0"/>
<TextBlock Text="{Binding Timestamp, StringFormat='HH:mm:ss'}"
Foreground="Gray" FontSize="10"
HorizontalAlignment="Right" Margin="0,5,0,0"/>
</StackPanel>
</materialDesign:Card>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</ScrollViewer>
<!-- 输入区域 -->
<Grid Grid.Row="2" Margin="0,5,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBox x:Name="txtMessage" Grid.Column="0" Margin="0,0,5,0"
materialDesign:HintAssist.Hint="输入消息..."
AcceptsReturn="True" VerticalScrollBarVisibility="Auto"
TextWrapping="Wrap" MinHeight="60" MaxHeight="120"
KeyDown="MessageInput_KeyDown"/>
<Button x:Name="btnSend" Grid.Column="1" Content="发送" MinWidth="80"
Style="{StaticResource MaterialDesignRaisedButton}"
Click="SendMessage_Click"/>
</Grid>
</Grid>
</Grid>
</TabItem>
<TabItem>
<TabItem.Header>
<StackPanel Width="auto" Height="auto">
<materialDesign:PackIcon Width="24" Height="24" HorizontalAlignment="Center" Kind="Cog" />
<TextBlock HorizontalAlignment="Center" Text="设置" />
</StackPanel>
</TabItem.Header>
<StackPanel>
<TextBlock Text="这里没有东西..."/>
</StackPanel>
</TabItem>
</TabControl>
</materialDesign:Card>
</Grid>
</Window>