mirror of
https://github.com/barelyprofessional/KfChatDotNet.git
synced 2026-05-02 04:22:04 -04:00
Initial commit
This commit is contained in:
107
KfChatDotNetGui/Views/MainWindow.axaml
Normal file
107
KfChatDotNetGui/Views/MainWindow.axaml
Normal file
@@ -0,0 +1,107 @@
|
||||
<Window xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:vm="using:KfChatDotNetGui.ViewModels"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
Width="800"
|
||||
Height="450"
|
||||
x:Class="KfChatDotNetGui.Views.MainWindow"
|
||||
Icon="/Assets/avalonia-logo.ico"
|
||||
Title="KfChatDotNetGui">
|
||||
|
||||
<Design.DataContext>
|
||||
<vm:MainWindowViewModel/>
|
||||
</Design.DataContext>
|
||||
|
||||
<Window.Styles>
|
||||
<Style Selector="ListBoxItem">
|
||||
<Setter Property="VerticalContentAlignment" Value="Stretch" />
|
||||
</Style>
|
||||
</Window.Styles>
|
||||
|
||||
<Grid RowDefinitions="Auto,*,Auto,Auto">
|
||||
<Menu Grid.Row="0">
|
||||
<MenuItem Header="_File">
|
||||
<MenuItem Click="ConnectMenuItem_OnClick" Header="_Connect"/>
|
||||
<Separator/>
|
||||
<MenuItem Click="ExitMenuItem_OnClick" Header="_Exit"/>
|
||||
</MenuItem>
|
||||
<MenuItem Header="_Settings">
|
||||
<MenuItem Click="IdentitySettings_OnClick" Header="_Identity"/>
|
||||
<MenuItem Click="RoomSettingsMenuItem_OnClick" Header="_Rooms"/>
|
||||
<MenuItem Header="_Preferences"/>
|
||||
</MenuItem>
|
||||
</Menu>
|
||||
<Grid Grid.Row="1" ColumnDefinitions="100,4,*,4,200">
|
||||
<ListBox SelectionChanged="RoomList_OnSelectionChanged" Grid.Column="0" Name="RoomList" ItemsSource="{Binding RoomList}">
|
||||
<ListBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding Name}"/>
|
||||
</DataTemplate>
|
||||
</ListBox.ItemTemplate>
|
||||
</ListBox>
|
||||
<GridSplitter Grid.Column="1"/>
|
||||
<ListBox Grid.Column="2" Name="ChatMessageList" ItemsSource="{Binding Messages}">
|
||||
<ListBox.Styles>
|
||||
<Style Selector="ListBoxItem">
|
||||
<Setter Property="VerticalAlignment" Value="Stretch"/>
|
||||
</Style>
|
||||
</ListBox.Styles>
|
||||
<ListBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<Grid ColumnDefinitions="Auto,*">
|
||||
<!-- <Image VerticalAlignment="Top" Margin="0,0,5,0" MaxHeight="32" Grid.Column="0" Source="{Binding Avatar}"/> -->
|
||||
<Grid Grid.Column="1" RowDefinitions="Auto,Auto">
|
||||
<Grid Grid.Row="0" ColumnDefinitions="Auto,Auto">
|
||||
<Button Grid.Column="0" Click="AuthorNameButton_OnClick" Foreground="LightBlue" Background="Transparent" Padding="0" Margin="0,0,5,0" Content="{Binding Author}"/>
|
||||
<TextBlock Grid.Column="1" FontSize="10" VerticalAlignment="Center" Foreground="Gray" Text="{Binding PostedAt}"/>
|
||||
</Grid>
|
||||
<!-- <TextBlock TextWrapping="Wrap" FontWeight="Light" Grid.Row="1" Text="{Binding Message}"/> -->
|
||||
<ListBox Grid.Row="1" ItemsSource="{Binding Messages}" PointerEntered="OuterMessageRow_OnPointerEnter" ScrollViewer.VerticalScrollBarVisibility="Disabled">
|
||||
<ListBox.Styles>
|
||||
<Style Selector="ListBoxItem">
|
||||
<Setter Property="Padding" Value="0"/>
|
||||
<Setter Property="Margin" Value="0"/>
|
||||
</Style>
|
||||
<Style Selector="Button">
|
||||
<Setter Property="Background" Value="Transparent"/>
|
||||
<Setter Property="FontSize" Value="11"/>
|
||||
<Setter Property="Padding" Value="0"/>
|
||||
<Setter Property="Margin" Value="0,0,5,0"/>
|
||||
</Style>
|
||||
</ListBox.Styles>
|
||||
<ListBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<Grid ColumnDefinitions="*,Auto" RowDefinitions="*">
|
||||
<TextBlock Grid.Column="0" TextWrapping="Wrap" FontWeight="Light" Text="{Binding Message}"/>
|
||||
<WrapPanel Grid.Column="1" IsVisible="{Binding IsHighlighted}">
|
||||
<Button Click="MessageEditButton_OnClick" IsVisible="{Binding OwnMessage}" Foreground="Orange">Edit</Button>
|
||||
<Button Click="MessageDeleteButton_OnClick" IsVisible="{Binding OwnMessage}" Foreground="Red">Delete</Button>
|
||||
<Button Click="CopyButton_OnClick" Foreground="LightBlue">Copy</Button>
|
||||
</WrapPanel>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
</ListBox.ItemTemplate>
|
||||
</ListBox>
|
||||
</Grid>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
</ListBox.ItemTemplate>
|
||||
</ListBox>
|
||||
<GridSplitter Grid.Column="3"></GridSplitter>
|
||||
<ListBox Grid.Column="4" Name="UserList" ItemsSource="{Binding UserList}">
|
||||
<ListBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding Name}"/>
|
||||
</DataTemplate>
|
||||
</ListBox.ItemTemplate>
|
||||
</ListBox>
|
||||
</Grid>
|
||||
<Grid Margin="1" Grid.Row="2" ColumnDefinitions="*,Auto">
|
||||
<TextBox KeyDown="NewChatMessage_OnKeyDown" Name="NewChatMessage" Grid.Column="0" BorderBrush="Gray" TextWrapping="NoWrap"/>
|
||||
<Button Click="NewChatMessageSubmitButton_OnClick" Grid.Column="1">Send</Button>
|
||||
</Grid>
|
||||
<TextBlock Grid.Row="3" Text="{Binding Status}"/>
|
||||
</Grid>
|
||||
</Window>
|
||||
Reference in New Issue
Block a user