diff --git a/src/Calculator.Droid/Properties/AndroidManifest.xml b/src/Calculator.Droid/Properties/AndroidManifest.xml
index 83c5e994..0a1de5e7 100644
--- a/src/Calculator.Droid/Properties/AndroidManifest.xml
+++ b/src/Calculator.Droid/Properties/AndroidManifest.xml
@@ -1,5 +1,5 @@
-
-
+
+
\ No newline at end of file
diff --git a/src/Calculator.Droid/Resources/values/Strings.xml b/src/Calculator.Droid/Resources/values/Strings.xml
index fc2eed15..1504dce7 100644
--- a/src/Calculator.Droid/Resources/values/Strings.xml
+++ b/src/Calculator.Droid/Resources/values/Strings.xml
@@ -1,5 +1,5 @@
Hello World, Click Me!
- Calculator
+ Uno Calc
diff --git a/src/Calculator.Shared/Views/DateCalculator.xaml b/src/Calculator.Shared/Views/DateCalculator.xaml
index 83f8822a..95b5e48b 100644
--- a/src/Calculator.Shared/Views/DateCalculator.xaml
+++ b/src/Calculator.Shared/Views/DateCalculator.xaml
@@ -1,13 +1,13 @@
-
+ mc:Ignorable="">
+
@@ -15,53 +15,53 @@
+ TextWrapping="WrapWholeWords" />
-
+
+ Style="{TemplateBinding CalendarViewStyle}"
+ CalendarIdentifier="{TemplateBinding CalendarIdentifier}"
+ DayOfWeekFormat="{TemplateBinding DayOfWeekFormat}"
+ DisplayMode="{TemplateBinding DisplayMode}"
+ FirstDayOfWeek="{TemplateBinding FirstDayOfWeek}"
+ IsGroupLabelVisible="{TemplateBinding IsGroupLabelVisible}"
+ IsOutOfScopeEnabled="{TemplateBinding IsOutOfScopeEnabled}"
+ IsTodayHighlighted="{TemplateBinding IsTodayHighlighted}"
+ MaxDate="{TemplateBinding MaxDate}"
+ MinDate="{TemplateBinding MinDate}" />
-
+
-
+ Margin="{ThemeResource ComboBoxHeaderThemeMargin}"
+ x:DeferLoadStrategy="Lazy"
+ Content="{TemplateBinding Header}"
+ ContentTemplate="{TemplateBinding HeaderTemplate}"
+ Visibility="Collapsed" />
+
-
+ Grid.Row="1"
+ Grid.ColumnSpan="2"
+ Background="{TemplateBinding Background}"
+ BorderThickness="0" />
+
-
+ Grid.Row="1"
+ Padding="0,0,0,2"
+ HorizontalAlignment="Right"
+ VerticalAlignment="Center"
+ Style="{ThemeResource BaseTextBlockStyle}"
+ Foreground="{ThemeResource SystemControlForegroundBaseMediumBrush}"
+ Text="{TemplateBinding PlaceholderText}" />
+
+ Grid.Row="1"
+ Grid.Column="1"
+ HorizontalAlignment="Center"
+ VerticalAlignment="Center"
+ Foreground="{ThemeResource SystemControlForegroundBaseHighBrush}"
+ FontFamily="{ThemeResource SymbolThemeFontFamily}"
+ FontSize="16"
+ Glyph="" />
@@ -382,62 +382,62 @@
+ x:Uid="DateCalculationOption"
+ Grid.Row="1"
+ Style="{ThemeResource DateCalculation_ComboStyle}"
+ SelectedIndex="0">
+ MinWidth="276"
+ ContentTemplate="{StaticResource ComboBoxItemContentTemplate}"
+ IsSelected="{Binding IsDateDiffMode, Mode=TwoWay}" />
+ MinWidth="276"
+ ContentTemplate="{StaticResource ComboBoxItemContentTemplate}"
+ IsSelected="{Binding IsDateDiffMode, Converter={StaticResource BooleanNegationConverter}, Mode=TwoWay}" />
+ Grid.Row="2"
+ Visibility="{Binding IsDateDiffMode, Converter={StaticResource BooleanToVisibilityConverter}}">
+ MaxHeight="17" />
+ MinHeight="32" />
+ MaxHeight="24" />
+ MinHeight="32" />
+ MaxHeight="24" />
+ MaxHeight="8" />
+ x:Uid="Date_FromLabel"
+ Grid.Row="1"
+ Margin="0,0,0,2"
+ Foreground="{ThemeResource SystemControlPageTextBaseHighBrush}"
+ TextWrapping="Wrap" />
+ Grid.Row="2"
+ Style="{StaticResource DateCalculation_CalendarPickerStyle}"
+ AutomationProperties.LabeledBy="{x:Bind Date_FromLabel}"
+ CalendarViewStyle="{StaticResource DateCalculation_CalendarViewStyle}"
+ Closed="CalendarFlyoutClosed"
+ DateChanged="FromDate_DateChanged" />
+ x:Uid="Date_ToLabel"
+ Grid.Row="4"
+ Margin="0,0,0,2"
+ Foreground="{ThemeResource SystemControlPageTextBaseHighBrush}"
+ TextWrapping="Wrap" />
+ Grid.Row="5"
+ Margin="0,0,0,0"
+ Style="{StaticResource DateCalculation_CalendarPickerStyle}"
+ AutomationProperties.LabeledBy="{x:Bind Date_ToLabel}"
+ CalendarViewStyle="{StaticResource DateCalculation_CalendarViewStyle}"
+ Closed="CalendarFlyoutClosed"
+ DateChanged="ToDate_DateChanged" />
+ Grid.Row="7"
+ Margin="0,0,0,0"
+ Foreground="{ThemeResource SystemControlPageTextBaseHighBrush}" />
+ Grid.Row="8"
+ Style="{ThemeResource SubtitleTextBlockStyle}"
+ FontWeight="SemiBold"
+ AutomationProperties.LiveSetting="Polite"
+ AutomationProperties.Name="{Binding StrDateDiffResultAutomationName}"
+ Text="{Binding StrDateDiffResult}" />
+ Style="{ThemeResource BaseTextBlockStyle}"
+ Foreground="{ThemeResource SystemControlPageTextBaseMediumBrush}"
+ Text="{Binding StrDateDiffResultInDays, Mode=OneWay}"
+ Visibility="{Binding IsDiffInDays, Converter={StaticResource BooleanToVisibilityNegationConverter}}" />
+ Grid.Row="2"
+ x:DeferLoadStrategy="Lazy"
+ Loaded="AddSubtractDateGrid_Loaded"
+ Visibility="{Binding IsDateDiffMode, Converter={StaticResource BooleanToVisibilityNegationConverter}}">
+ MaxHeight="17" />
+ MinHeight="32" />
+ MaxHeight="23" />
+ MaxHeight="29" />
+ MaxHeight="35" />
@@ -626,21 +626,21 @@
+ x:Uid="Date_FromLabel"
+ Grid.Row="1"
+ Margin="0,0,0,2"
+ Style="{ThemeResource BodyTextBlockStyle}"
+ Foreground="{ThemeResource SystemControlPageTextBaseMediumBrush}"
+ TextWrapping="Wrap" />
+ Grid.Row="2"
+ Margin="0,0,0,0"
+ Style="{StaticResource DateCalculation_CalendarPickerStyle}"
+ AutomationProperties.LabeledBy="{x:Bind AddSubtract_Date_FromLabel}"
+ CalendarViewStyle="{StaticResource DateCalculation_CalendarViewStyle}"
+ Closed="CalendarFlyoutClosed"
+ DateChanged="AddSubtract_DateChanged" />
@@ -649,29 +649,29 @@
+ x:Uid="AddOption"
+ MinWidth="80"
+ MaxWidth="160"
+ VerticalAlignment="Top"
+ Checked="AddSubtractOption_Checked"
+ IsChecked="{Binding IsAddMode, Mode=TwoWay}" />
+ x:Uid="SubtractOption"
+ Grid.Column="1"
+ MinWidth="80"
+ MaxWidth="160"
+ Margin="20,0,0,0"
+ VerticalAlignment="Top"
+ Checked="AddSubtractOption_Checked"
+ IsChecked="{Binding IsAddMode, Converter={StaticResource BooleanNegationConverter}, Mode=TwoWay}" />
+ Grid.Row="6">
@@ -685,70 +685,70 @@
+ x:Uid="YearsLabel"
+ Margin="0,0,0,6"
+ Foreground="{ThemeResource SystemControlPageTextBaseMediumBrush}"
+ TextWrapping="Wrap" />
+ Grid.Row="1"
+ MinWidth="84"
+ AutomationProperties.LabeledBy="{Binding ElementName=YearsLabel}"
+ DropDownClosed="OffsetDropDownClosed"
+ ItemsSource="{Binding OffsetValues, Mode=OneTime}"
+ SelectedIndex="{Binding YearsOffset, Mode=TwoWay}"
+ SelectionChanged="OffsetValue_Changed" />
+ x:Uid="MonthsLabel"
+ Grid.Column="1"
+ Margin="12,0,12,6"
+ Foreground="{ThemeResource SystemControlPageTextBaseMediumBrush}"
+ TextWrapping="Wrap" />
+ Grid.Row="1"
+ Grid.Column="1"
+ MinWidth="84"
+ Margin="12,0,12,0"
+ AutomationProperties.LabeledBy="{Binding ElementName=MonthsLabel}"
+ DropDownClosed="OffsetDropDownClosed"
+ ItemsSource="{Binding OffsetValues, Mode=OneTime}"
+ SelectedIndex="{Binding MonthsOffset, Mode=TwoWay}"
+ SelectionChanged="OffsetValue_Changed" />
+ x:Uid="DaysLabel"
+ Grid.Column="2"
+ Margin="0,0,0,6"
+ Foreground="{ThemeResource SystemControlPageTextBaseMediumBrush}"
+ TextWrapping="Wrap" />
+ Grid.Row="1"
+ Grid.Column="2"
+ MinWidth="84"
+ AutomationProperties.LabeledBy="{Binding ElementName=DaysLabel}"
+ DropDownClosed="OffsetDropDownClosed"
+ ItemsSource="{Binding OffsetValues, Mode=OneTime}"
+ SelectedIndex="{Binding DaysOffset, Mode=TwoWay}"
+ SelectionChanged="OffsetValue_Changed" />
+ Grid.Row="8"
+ Foreground="{ThemeResource SystemControlPageTextBaseMediumBrush}" />
+ Grid.Row="9"
+ Style="{ThemeResource SubtitleTextBlockStyle}"
+ FontWeight="SemiBold"
+ AutomationProperties.LiveSetting="Polite"
+ AutomationProperties.Name="{Binding StrDateResultAutomationName}"
+ Text="{Binding StrDateResult}" />
diff --git a/src/Calculator.Shared/Views/MainPage.xaml b/src/Calculator.Shared/Views/MainPage.xaml
index 264156d5..a6928746 100644
--- a/src/Calculator.Shared/Views/MainPage.xaml
+++ b/src/Calculator.Shared/Views/MainPage.xaml
@@ -125,14 +125,11 @@
-
-
+
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:common="using:CalculatorApp.Common"
+ xmlns:controls="using:CalculatorApp.Controls"
+ xmlns:converters="using:CalculatorApp.Converters"
+ xmlns:local="using:CalculatorApp.Views"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ x:Name="ControlRoot"
+ mc:Ignorable="">
@@ -16,7 +16,7 @@
-
+
@@ -29,85 +29,85 @@
+ Value="false" />
-
+
-
+ x:Uid="num0Button"
+ Grid.Row="3"
+ Grid.Column="1"
+ Style="{x:Bind Path=ButtonStyle, Mode=OneWay}"
+ AutomationProperties.AutomationId="num0Button"
+ ButtonId="Zero" />
+
-
+ x:Uid="num1Button"
+ Grid.Row="2"
+ Style="{x:Bind Path=ButtonStyle, Mode=OneWay}"
+ AutomationProperties.AutomationId="num1Button"
+ ButtonId="One" />
+
-
+ x:Uid="num2Button"
+ Grid.Row="2"
+ Grid.Column="1"
+ Style="{x:Bind Path=ButtonStyle, Mode=OneWay}"
+ AutomationProperties.AutomationId="num2Button"
+ ButtonId="Two" />
+
-
+ x:Uid="num3Button"
+ Grid.Row="2"
+ Grid.Column="2"
+ Style="{x:Bind Path=ButtonStyle, Mode=OneWay}"
+ AutomationProperties.AutomationId="num3Button"
+ ButtonId="Three" />
+
-
+ x:Uid="num4Button"
+ Grid.Row="1"
+ Style="{x:Bind Path=ButtonStyle, Mode=OneWay}"
+ AutomationProperties.AutomationId="num4Button"
+ ButtonId="Four" />
+
-
+ x:Uid="num5Button"
+ Grid.Row="1"
+ Grid.Column="1"
+ Style="{x:Bind Path=ButtonStyle, Mode=OneWay}"
+ AutomationProperties.AutomationId="num5Button"
+ ButtonId="Five" />
+
-
+ x:Uid="num6Button"
+ Grid.Row="1"
+ Grid.Column="2"
+ Style="{x:Bind Path=ButtonStyle, Mode=OneWay}"
+ AutomationProperties.AutomationId="num6Button"
+ ButtonId="Six" />
+
-
+ x:Uid="num7Button"
+ Style="{x:Bind Path=ButtonStyle, Mode=OneWay}"
+ AutomationProperties.AutomationId="num7Button"
+ ButtonId="Seven" />
+
-
+ x:Uid="num8Button"
+ Grid.Column="1"
+ Style="{x:Bind Path=ButtonStyle, Mode=OneWay}"
+ AutomationProperties.AutomationId="num8Button"
+ ButtonId="Eight" />
+
+ x:Uid="num9Button"
+ Grid.Column="2"
+ Style="{x:Bind Path=ButtonStyle, Mode=OneWay}"
+ AutomationProperties.AutomationId="num9Button"
+ ButtonId="Nine" />
-
+ x:Uid="decimalSeparatorButton"
+ Grid.Row="4"
+ Grid.Column="2"
+ Style="{Binding ElementName=ControlRoot, Path=ButtonStyle}"
+ Background="{ThemeResource AppBackgroundAltMediumLowBrush}"
+ AutomationProperties.AutomationId="decimalSeparatorButton"
+ ButtonId="Decimal"
+ IsEnabled="{Binding IsDecimalEnabled}" />
+
diff --git a/src/Calculator.Shared/Views/UnitConverter.xaml b/src/Calculator.Shared/Views/UnitConverter.xaml
index 933a4539..96a95b6b 100644
--- a/src/Calculator.Shared/Views/UnitConverter.xaml
+++ b/src/Calculator.Shared/Views/UnitConverter.xaml
@@ -1,70 +1,93 @@
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:automation="using:CalculatorApp.Common.Automation"
+ xmlns:common="using:CalculatorApp.Common"
+ xmlns:controls="using:CalculatorApp.Controls"
+ xmlns:converters="using:CalculatorApp.Converters"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:local="using:CalculatorApp"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:triggers="using:CalculatorApp.Views.StateTriggers"
+ xmlns:vm="using:CalculatorApp.ViewModel"
+ d:DesignHeight="658"
+ d:DesignWidth="830"
+ DataContextChanged="OnDataContextChanged"
+ FlowDirection="LeftToRight"
+ Loaded="OnLoaded"
+ mc:Ignorable="d">
-
-
-
-
-
+
+
+
+
+
-
+
+ Text="{x:Bind Name}"
+ TextWrapping="NoWrap" />
-
+
+ FontWeight="SemiBold"
+ Text="{x:Bind Name}"
+ TextWrapping="NoWrap" />
-
-
-
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -265,9 +327,9 @@
+ From="0"
+ Storyboard.TargetProperty="Opacity"
+ To="1" />
-
+
+ Height="56*"
+ MinHeight="56" />
+ Height="32*"
+ MinHeight="32" />
+ Height="56*"
+ MinHeight="56" />
+ Height="32*"
+ MinHeight="32" />
-
+ Height="Auto"
+ MinHeight="48" />
+
-
-
-
-
+
+
+
+
-
+
+ NumeratorAspect="Width"
+ Source="{x:Bind}"
+ Threshold="1" />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
-
-
-
+
+
+
+
+ Grid.Row="1"
+ Grid.RowSpan="5"
+ Grid.Column="0"
+ Grid.ColumnSpan="4"
+ Visibility="{x:Bind Model.IsCurrencyLoadingVisible, Mode=OneWay, Converter={StaticResource BooleanToVisibilityConverter}}">
-
-
-
+
+
+
+ Grid.Row="1"
+ Grid.Column="1"
+ MaxWidth="140"
+ MaxHeight="140"
+ HorizontalAlignment="Stretch"
+ VerticalAlignment="Stretch"
+ IsActive="False" />
-
+
+ Grid.Row="1"
+ Grid.Column="1"
+ HorizontalAlignment="Stretch"
+ Style="{ThemeResource ValueContainerStyle}"
+ Visibility="{x:Bind Model.IsCurrencyLoadingVisible, Mode=OneWay, Converter={StaticResource BooleanToVisibilityNegationConverter}}">
-
-
-
+
+
+
+ Grid.Column="0"
+ Padding="12,0,0,0"
+ Style="{ThemeResource CurrencySymbolMediumStyle}"
+ Text="{x:Bind Model.CurrencySymbol1, Mode=OneWay}"
+ Visibility="{x:Bind Model.CurrencySymbolVisibility, Mode=OneWay}" />
+ IsActive="{Binding Value1Active, Mode=TwoWay}"
+ KeyDown="OnValueKeyDown"
+ ValueSelected="OnValueSelected"
+ TabIndex="1" />
+ Grid.Row="2"
+ Grid.Column="1"
+ HorizontalAlignment="{x:Bind FlowDirectionHorizontalAlignment}"
+ Style="{ThemeResource ComboStyle}"
+ DropDownClosed="UpdateDropDownState"
+ DropDownOpened="UpdateDropDownState"
+ FlowDirection="{x:Bind LayoutDirection}"
+ IsEnabled="{Binding IsDropDownEnabled}"
+ IsEnabledChanged="Units1_IsEnabledChanged"
+ ItemTemplate="{StaticResource UnitTemplate}"
+ ItemsSource="{Binding Units}"
+ SelectedItem="{Binding Unit1, Mode=TwoWay}"
+ TabIndex="2"
+ Visibility="{x:Bind Model.IsCurrencyLoadingVisible, Mode=OneWay, Converter={StaticResource BooleanToVisibilityNegationConverter}}" />
+ Grid.Row="3"
+ Grid.Column="1"
+ HorizontalAlignment="Stretch"
+ Style="{ThemeResource ValueContainerStyle}"
+ Visibility="{x:Bind Model.IsCurrencyLoadingVisible, Mode=OneWay, Converter={StaticResource BooleanToVisibilityNegationConverter}}">
-
-
-
+
+
+
+ Grid.Column="0"
+ Padding="12,0,0,0"
+ Style="{ThemeResource CurrencySymbolMediumStyle}"
+ Text="{x:Bind Model.CurrencySymbol2, Mode=OneWay}"
+ Visibility="{x:Bind Model.CurrencySymbolVisibility, Mode=OneWay}" />
+ IsActive="{Binding Value2Active, Mode=TwoWay}"
+ KeyDown="OnValueKeyDown"
+ ValueSelected="OnValueSelected"
+ TabIndex="3" />
+ Grid.Row="5"
+ Grid.Column="1"
+ MinHeight="48"
+ Padding="12,0,6,0"
+ HorizontalAlignment="{x:Bind FlowDirectionHorizontalAlignment}"
+ VerticalAlignment="Top"
+ FlowDirection="{x:Bind LayoutDirection}"
+ SizeChanged="SupplementaryResultsPanelInGrid_SizeChanged"
+ Visibility="{x:Bind Model.IsCurrencyLoadingVisible, Mode=OneWay, Converter={StaticResource BooleanToVisibilityNegationConverter}}">
+ HorizontalAlignment="Left"
+ VerticalAlignment="Center"
+ Results="{x:Bind Model.SupplementaryResults, Mode=OneWay}"
+ Visibility="{x:Bind Model.SupplementaryVisibility, Mode=OneWay}" />
+ Style="{ThemeResource CaptionTextBlockStyle}"
+ Foreground="{ThemeResource SystemControlPageTextBaseHighBrush}"
+ AutomationProperties.Name="{x:Bind Model.CurrencyRatioEqualityAutomationName, Mode=OneWay}"
+ Text="{x:Bind Model.CurrencyRatioEquality, Mode=OneWay}" />
+ Style="{ThemeResource CaptionTextBlockStyle}"
+ Text="{x:Bind Model.CurrencyTimestamp, Mode=OneWay}" />
+ IsTabStop="False"
+ TabIndex="5"
+ Visibility="Collapsed">
-
+ x:Uid="RefreshButtonText"
+ Foreground="{ThemeResource SystemControlHyperlinkBaseHighBrush}"
+ Click="CurrencyRefreshButton_Click" />
+
+ FontWeight="SemiBold"
+ Text="" />
+ IsTabStop="False"
+ TabIndex="5"
+ Visibility="Collapsed">
-
+ Foreground="{ThemeResource SystemControlPageTextBaseHighBrush}"
+ AutomationProperties.AccessibilityView="Raw">
+
-
+
-
+
+ Grid.Row="6"
+ Grid.Column="1"
+ Margin="0,0,0,6"
+ FlowDirection="LeftToRight"
+ RenderTransformOrigin="0.5,0.5">
-
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+ Grid.Row="1"
+ Grid.Column="2"
+ Grid.ColumnSpan="2"
+ AutomationProperties.HeadingLevel="Level1">
-
-
+
+
+ x:Uid="clearEntryButton"
+ HorizontalAlignment="Stretch"
+ Style="{StaticResource OperatorButtonStyle}"
+ FontSize="16"
+ ButtonId="Clear"
+ Content="CE"
+ TabIndex="7" />
+ TabIndex="8" />
+ x:Uid="NumberPad"
+ Grid.Row="2"
+ Grid.RowSpan="4"
+ Grid.Column="1"
+ Grid.ColumnSpan="3"
+ VerticalAlignment="Stretch"
+ AutomationProperties.HeadingLevel="Level1"
+ ButtonStyle="{StaticResource NumericButtonStyle24}"
+ TabIndex="10"
+ TabNavigation="Local" />
+ x:Uid="converterNegateButton"
+ Grid.Row="5"
+ Grid.Column="1"
+ Style="{StaticResource SymbolOperatorButtonStyle}"
+ FontSize="16"
+ ButtonId="Negate"
+ Content=""
+ TabIndex="6"
+ Visibility="{x:Bind Model.CurrentCategory.NegateVisibility, Mode=OneWay}" />
diff --git a/src/Calculator.UWP/Package.appxmanifest b/src/Calculator.UWP/Package.appxmanifest
index c47c8418..b1e6cffd 100644
--- a/src/Calculator.UWP/Package.appxmanifest
+++ b/src/Calculator.UWP/Package.appxmanifest
@@ -31,7 +31,7 @@
CFBundleDisplayName
- Uno Calculator
+ Uno Calc
CFBundleIdentifier
uno.platform.calculator
CFBundleShortVersionString