89 lines
4.3 KiB
XML
89 lines
4.3 KiB
XML
<local:XivChatWindow x:Class="XIVChat_Desktop.FriendList"
|
|
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:local="clr-namespace:XIVChat_Desktop"
|
|
xmlns:ui="http://schemas.modernwpf.com/2019"
|
|
xmlns:message="clr-namespace:XIVChatCommon.Message;assembly=XIVChatCommon"
|
|
ui:WindowHelper.UseModernWindowStyle="True"
|
|
mc:Ignorable="d"
|
|
Title="Friend list"
|
|
WindowStartupLocation="CenterOwner"
|
|
Height="400"
|
|
Width="700"
|
|
x:Name="Main"
|
|
Closed="FriendList_OnClosed"
|
|
d:DataContext="{d:DesignInstance local:FriendList}">
|
|
<Grid Margin="8">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="*" />
|
|
<RowDefinition Height="Auto" />
|
|
</Grid.RowDefinitions>
|
|
|
|
<ProgressBar Grid.Row="0"
|
|
IsIndeterminate="True"
|
|
Visibility="{Binding Waiting, Converter={StaticResource BoolToVisibilityConverter}}" />
|
|
<DataGrid Grid.Row="0"
|
|
ItemsSource="{Binding App.Window.FriendList}"
|
|
AutoGenerateColumns="False"
|
|
SelectionUnit="FullRow"
|
|
SelectionMode="Single"
|
|
IsReadOnly="True"
|
|
CanUserReorderColumns="True"
|
|
Visibility="{Binding Waiting, Converter={StaticResource InverseBoolToVisibilityConverter}}">
|
|
<DataGrid.CommandBindings>
|
|
<CommandBinding Command="local:FriendList.SendTell"
|
|
Executed="SendTell_Executed"
|
|
CanExecute="SendTell_CanExecute" />
|
|
</DataGrid.CommandBindings>
|
|
|
|
<DataGrid.Resources>
|
|
<local:FriendListStatusConverter x:Key="StatusConverter" />
|
|
|
|
<ContextMenu x:Key="RowMenu"
|
|
DataContext="{Binding PlacementTarget.DataContext, RelativeSource={RelativeSource Self}}"
|
|
d:DataContext="{d:DesignInstance message:Player}">
|
|
<MenuItem Header="Send /tell"
|
|
Command="local:FriendList.SendTell"
|
|
CommandParameter="{Binding}" />
|
|
</ContextMenu>
|
|
</DataGrid.Resources>
|
|
|
|
<DataGrid.RowStyle>
|
|
<Style TargetType="{x:Type DataGridRow}"
|
|
BasedOn="{StaticResource DefaultDataGridRowStyle}">
|
|
<Setter Property="ContextMenu"
|
|
Value="{StaticResource RowMenu}" />
|
|
</Style>
|
|
</DataGrid.RowStyle>
|
|
|
|
<DataGrid.Columns>
|
|
<DataGridTemplateColumn d:DataContext="{d:DesignInstance message:Player}">
|
|
<DataGridTemplateColumn.CellTemplate>
|
|
<DataTemplate>
|
|
<Image MaxHeight="32"
|
|
MaxWidth="32"
|
|
Margin="4"
|
|
Source="{Binding ., Converter={StaticResource StatusConverter}}" />
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellTemplate>
|
|
</DataGridTemplateColumn>
|
|
<DataGridTextColumn Header="Name"
|
|
Binding="{Binding Name}" />
|
|
<DataGridTextColumn Header="Job"
|
|
Binding="{Binding JobName, Converter={StaticResource TitleCaseConverter}}" />
|
|
<DataGridTextColumn Header="Location"
|
|
Binding="{Binding TerritoryName}" />
|
|
<DataGridTextColumn Header="FC"
|
|
Binding="{Binding FreeCompany}" />
|
|
</DataGrid.Columns>
|
|
</DataGrid>
|
|
<Button Grid.Row="1"
|
|
IsEnabled="{Binding App.Connected}"
|
|
Content="Refresh"
|
|
Margin="0,8,0,0"
|
|
Click="Refresh_Click" />
|
|
</Grid>
|
|
</local:XivChatWindow>
|