<UserControl xmlns="https://github.com/avaloniaui"
             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:m="using:SourceGit.Models"
             mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
             x:Class="SourceGit.Views.ChangeViewModeSwitcher"
             x:Name="ThisControl">
  <Button Classes="icon_button" ToolTip.Tip="{DynamicResource Text.ChangeDisplayMode}">
    <Button.Flyout>
      <MenuFlyout Placement="BottomEdgeAlignedLeft">
        <MenuItem Header="{DynamicResource Text.ChangeDisplayMode.List}" Click="SwitchToList">
          <MenuItem.Icon>
            <Path Width="12" Height="12" Data="{StaticResource Icons.List}"/>
          </MenuItem.Icon>
        </MenuItem>
        <MenuItem Header="{DynamicResource Text.ChangeDisplayMode.Grid}" Click="SwitchToGrid">
          <MenuItem.Icon>
            <Path Width="12" Height="12" Data="{StaticResource Icons.Grid}"/>
          </MenuItem.Icon>
        </MenuItem>
        <MenuItem Header="{DynamicResource Text.ChangeDisplayMode.Tree}" Click="SwitchToTree">
          <MenuItem.Icon>
            <Path Width="12" Height="12" Data="{StaticResource Icons.Tree}"/>
          </MenuItem.Icon>
        </MenuItem>
      </MenuFlyout>
    </Button.Flyout>

    <Grid Width="14" Height="14" HorizontalAlignment="Center" VerticalAlignment="Center">
      <Path Width="14" Height="14"
            Data="{StaticResource Icons.List}"
            IsVisible="{Binding #ThisControl.ViewMode, Converter={x:Static ObjectConverters.Equal}, ConverterParameter={x:Static m:ChangeViewMode.List}}"/>
      <Path Width="14" Height="14"
            Data="{StaticResource Icons.Grid}"
            IsVisible="{Binding #ThisControl.ViewMode, Converter={x:Static ObjectConverters.Equal}, ConverterParameter={x:Static m:ChangeViewMode.Grid}}"/>
      <Path Width="14" Height="14"
            Data="{StaticResource Icons.Tree}"
            IsVisible="{Binding #ThisControl.ViewMode, Converter={x:Static ObjectConverters.Equal}, ConverterParameter={x:Static m:ChangeViewMode.Tree}}"/>
    </Grid>
  </Button>
</UserControl>
