XIVChat/XIVChat Desktop/FriendList.xaml

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>