<Page x:Class="ForzaUI.TestMenu"
      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"
      mc:Ignorable="d"
      xmlns:System="clr-namespace:System;assembly=mscorlib"
      xmlns:local="clr-namespace:ForzaUI;assembly="
      Style="{StaticResource A_Style_Page_Generic}">
    <Page.Resources>
        <Color x:Key="TestWhite">#FFFFFF</Color>
        <Color x:Key="TestYellow">#FFF200</Color>

        <!-- Greek test case input strings for ToLower -->
        <String x:Key="GreekBasicUpper">&#x0391;&#x0392;&#x0393;&#x0394;&#x0395;&#x0396;&#x0397;&#x0398;&#x0399;&#x039A;&#x039B;&#x039C;&#x039D;&#x039E;&#x039F;&#x03A0;&#x03A1;&#x03A3;&#x03A4;&#x03A5;&#x03A6;&#x03A7;&#x03A8;&#x03A9;&#x03AA;&#x03AB;</String>
        <String x:Key="GreekAccentedUpper">&#x0386;&#x0388;&#x0389;&#x038A;&#x038C;&#x038E;&#x038F;</String>

        <!-- Greek test case input strings for ToUpper -->
        <String x:Key="GreekBasicLower">&#x03B1;&#x03B2;&#x03B3;&#x03B4;&#x03B5;&#x03B6;&#x03B7;&#x03B8;&#x03B9;&#x03BA;&#x03BB;&#x03BC;&#x03BD;&#x03BE;&#x03BF;&#x03C0;&#x03C1;&#x03C3;&#x03C4;&#x03C5;&#x03C6;&#x03C7;&#x03C8;&#x03C9;&#x03CA;&#x03CB;</String>
        <String x:Key="GreekAccentedLower">&#x03AC;&#x03AD;&#x03AE;&#x03AF;&#x03CC;&#x03CD;&#x03CE;</String>
        <String x:Key="GreekSpecialLower">&#x03C2;&#x0390;&#x03B0;</String>

        <Style x:Key="{Type FZTextBlock}" TargetType="{Type FZTextBlock}">
            <Setter Property="Color" Value="{StaticResource TestWhite}"/>
            <Setter Property="CapHeight" Value="36"/>
        </Style>

        <Style x:Key="FontUpperLowerTestTable" TargetType="{Type Control}">
            <Setter Property="HorizontalAlignment" Value="Center"/>
            <Setter Property="VerticalAlignment" Value="Center"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{Type Control}">
                        <ControlTemplate.Resources>
                            <Style x:Key="{Type FZTextBlock}" TargetType="{Type FZTextBlock}">
                                <Setter Property="Color" Value="{StaticResource TestWhite}"/>
                                <Setter Property="Margin" Value="10,5"/>
                                <Setter Property="CapHeight" Value="36"/>
                            </Style>
                        </ControlTemplate.Resources>
                        <Grid HorizontalAlignment="Center" VerticalAlignment="Center">
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="Auto" />
                                <ColumnDefinition Width="Auto" />
                            </Grid.ColumnDefinitions>
                            <Grid.RowDefinitions>
                                <RowDefinition /> <!-- Row 0: ToLower header -->
                                <RowDefinition /> <!-- Row 1: Column headers -->
                                <RowDefinition /> <!-- Row 2: Greek basic ToLower -->
                                <RowDefinition /> <!-- Row 3: Greek accented ToLower -->
                                <RowDefinition /> <!-- Row 4: Spacer -->
                                <RowDefinition /> <!-- Row 5: ToUpper header -->
                                <RowDefinition /> <!-- Row 6: Column headers -->
                                <RowDefinition /> <!-- Row 7: Greek basic ToUpper -->
                                <RowDefinition /> <!-- Row 8: Greek accented ToUpper -->
                                <RowDefinition /> <!-- Row 9: Greek special ToUpper -->
                            </Grid.RowDefinitions>

                            <!-- ToLower section -->
                            <FZTextBlock Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" Text="ToLowerInPlace" Color="{StaticResource TestYellow}" CapHeight="42" Margin="10,10,10,5"/>

                            <FZTextBlock Grid.Row="1" Grid.Column="0" Text="Input" Color="{StaticResource TestYellow}"/>
                            <FZTextBlock Grid.Row="1" Grid.Column="1" Text="ToLower Result" Color="{StaticResource TestYellow}"/>

                            <!-- Greek basic alphabet and diaeresis -->
                            <FZTextBlock Grid.Row="2" Grid.Column="0" Text="{StaticResource GreekBasicUpper}"/>
                            <FZTextBlock Grid.Row="2" Grid.Column="1" Text="{Binding Source={StaticResource GreekBasicUpper}, Converter={StaticResource A_StringToLower}}"/>

                            <!-- Greek accented characters -->
                            <FZTextBlock Grid.Row="3" Grid.Column="0" Text="{StaticResource GreekAccentedUpper}"/>
                            <FZTextBlock Grid.Row="3" Grid.Column="1" Text="{Binding Source={StaticResource GreekAccentedUpper}, Converter={StaticResource A_StringToLower}}"/>

                            <!-- Spacer row -->
                            <FZTextBlock Grid.Row="4" Grid.Column="0" Grid.ColumnSpan="2" Text=" " Margin="0,10"/>

                            <!-- ToUpper section -->
                            <FZTextBlock Grid.Row="5" Grid.Column="0" Grid.ColumnSpan="2" Text="ToUpperInPlace" Color="{StaticResource TestYellow}" CapHeight="42" Margin="10,10,10,5"/>

                            <FZTextBlock Grid.Row="6" Grid.Column="0" Text="Input" Color="{StaticResource TestYellow}"/>
                            <FZTextBlock Grid.Row="6" Grid.Column="1" Text="ToUpper Result" Color="{StaticResource TestYellow}"/>

                            <!-- Greek basic alphabet and diaeresis -->
                            <FZTextBlock Grid.Row="7" Grid.Column="0" Text="{StaticResource GreekBasicLower}"/>
                            <FZTextBlock Grid.Row="7" Grid.Column="1" Text="{Binding Source={StaticResource GreekBasicLower}, Converter={StaticResource A_StringToUpper}}"/>

                            <!-- Greek accented characters -->
                            <FZTextBlock Grid.Row="8" Grid.Column="0" Text="{StaticResource GreekAccentedLower}"/>
                            <FZTextBlock Grid.Row="8" Grid.Column="1" Text="{Binding Source={StaticResource GreekAccentedLower}, Converter={StaticResource A_StringToUpper}}"/>

                            <!-- Greek special cases: final sigma, iota/upsilon with dialytika and tonos -->
                            <FZTextBlock Grid.Row="9" Grid.Column="0" Text="{StaticResource GreekSpecialLower}"/>
                            <FZTextBlock Grid.Row="9" Grid.Column="1" Text="{Binding Source={StaticResource GreekSpecialLower}, Converter={StaticResource A_StringToUpper}}"/>
                        </Grid>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </Page.Resources>

    <Grid Style="{StaticResource A_Style_FrameworkElement_LayoutRoot}">
        <FZMaterial Color="#606060"/>
        <Control Style="{StaticResource FontUpperLowerTestTable}"/>
    </Grid>
</Page>
