Load strings with x:Uid

This commit is contained in:
Matt Cooley 2022-09-23 10:05:36 -07:00
commit 10ec87751a
29 changed files with 1292 additions and 817 deletions

View file

@ -8,7 +8,8 @@
xmlns:converters="using:CalculatorApp.Converters" xmlns:converters="using:CalculatorApp.Converters"
xmlns:local="using:CalculatorApp" xmlns:local="using:CalculatorApp"
xmlns:muxc="using:Microsoft.UI.Xaml.Controls" xmlns:muxc="using:Microsoft.UI.Xaml.Controls"
xmlns:primitives="using:Microsoft.UI.Xaml.Controls.Primitives"> xmlns:primitives="using:Microsoft.UI.Xaml.Controls.Primitives"
xmlns:utils="using:CalculatorApp.Utils">
<Application.Resources> <Application.Resources>
<ResourceDictionary> <ResourceDictionary>
@ -790,7 +791,6 @@
TextWrapping="NoWrap"/> TextWrapping="NoWrap"/>
</ScrollViewer> </ScrollViewer>
<HyperlinkButton x:Name="ScrollLeft" <HyperlinkButton x:Name="ScrollLeft"
x:Uid="CalculationResultScrollLeft"
Grid.Column="0" Grid.Column="0"
Width="20" Width="20"
MinWidth="20" MinWidth="20"
@ -803,14 +803,14 @@
Foreground="{ThemeResource SystemControlForegroundAccentBrush}" Foreground="{ThemeResource SystemControlForegroundAccentBrush}"
BorderThickness="0" BorderThickness="0"
AutomationProperties.AutomationId="CalculationResultScrollLeft" AutomationProperties.AutomationId="CalculationResultScrollLeft"
AutomationProperties.Name="{utils:ResourceString Name=CalculationResultScrollLeft/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
Visibility="Collapsed"> Visibility="Collapsed">
<FontIcon x:Name="ScrollLeftText" <FontIcon x:Name="ScrollLeftText"
FontFamily="{ThemeResource CalculatorFontFamily}" FontFamily="{ThemeResource CalculatorFontFamily}"
FontSize="12" FontSize="12"
Glyph="&#xE96F;"/> Glyph=""/>
</HyperlinkButton> </HyperlinkButton>
<HyperlinkButton x:Name="ScrollRight" <HyperlinkButton x:Name="ScrollRight"
x:Uid="CalculationResultScrollRight"
Grid.Column="2" Grid.Column="2"
Width="20" Width="20"
MinWidth="20" MinWidth="20"
@ -823,11 +823,12 @@
Foreground="{ThemeResource SystemControlForegroundAccentBrush}" Foreground="{ThemeResource SystemControlForegroundAccentBrush}"
BorderThickness="0" BorderThickness="0"
AutomationProperties.AutomationId="CalculationResultScrollRight" AutomationProperties.AutomationId="CalculationResultScrollRight"
AutomationProperties.Name="{utils:ResourceString Name=CalculationResultScrollRight/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
Visibility="Collapsed"> Visibility="Collapsed">
<FontIcon x:Name="ScrollRightText" <FontIcon x:Name="ScrollRightText"
FontFamily="{ThemeResource CalculatorFontFamily}" FontFamily="{ThemeResource CalculatorFontFamily}"
FontSize="12" FontSize="12"
Glyph="&#xE970;"/> Glyph=""/>
</HyperlinkButton> </HyperlinkButton>
</Grid> </Grid>
</ControlTemplate> </ControlTemplate>
@ -1080,7 +1081,7 @@
VerticalAlignment="Center" VerticalAlignment="Center"
FontFamily="{StaticResource CalculatorFontFamily}" FontFamily="{StaticResource CalculatorFontFamily}"
FontSize="{TemplateBinding ChevronFontSize}" FontSize="{TemplateBinding ChevronFontSize}"
Glyph="&#xE70D;"/> Glyph=""/>
</StackPanel> </StackPanel>
</ContentPresenter> </ContentPresenter>
</ControlTemplate> </ControlTemplate>
@ -2226,7 +2227,7 @@
Foreground="{ThemeResource SystemAltMediumHighColor}" Foreground="{ThemeResource SystemAltMediumHighColor}"
FontFamily="{ThemeResource CalculatorFontFamily}" FontFamily="{ThemeResource CalculatorFontFamily}"
FontSize="12" FontSize="12"
Content="&#xE96F;" Content=""
IsTabStop="False" IsTabStop="False"
Visibility="Collapsed"/> Visibility="Collapsed"/>
<Button x:Name="ScrollRight" <Button x:Name="ScrollRight"
@ -2239,7 +2240,7 @@
Foreground="{ThemeResource SystemAltMediumHighColor}" Foreground="{ThemeResource SystemAltMediumHighColor}"
FontFamily="{ThemeResource CalculatorFontFamily}" FontFamily="{ThemeResource CalculatorFontFamily}"
FontSize="12" FontSize="12"
Content="&#xE970;" Content=""
IsTabStop="False" IsTabStop="False"
Visibility="Collapsed"/> Visibility="Collapsed"/>
</Grid> </Grid>

View file

@ -165,6 +165,8 @@
<Compile Include="Converters\RadixToStringConverter.cs" /> <Compile Include="Converters\RadixToStringConverter.cs" />
<Compile Include="Converters\VisibilityNegationConverter.cs" /> <Compile Include="Converters\VisibilityNegationConverter.cs" />
<Compile Include="Selectors\NavViewMenuItemTemplateSelector.cs" /> <Compile Include="Selectors\NavViewMenuItemTemplateSelector.cs" />
<Compile Include="Utils\ResourceVirtualKey.cs" />
<Compile Include="Utils\ResourceString.cs" />
<Compile Include="Utils\ThemeHelper.cs" /> <Compile Include="Utils\ThemeHelper.cs" />
<Compile Include="Views\GraphingCalculator\EquationStylePanelControl.xaml.cs"> <Compile Include="Views\GraphingCalculator\EquationStylePanelControl.xaml.cs">
<DependentUpon>EquationStylePanelControl.xaml</DependentUpon> <DependentUpon>EquationStylePanelControl.xaml</DependentUpon>

View file

@ -0,0 +1,19 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
using CalculatorApp.ViewModel.Common;
using Windows.UI.Xaml.Markup;
namespace CalculatorApp.Utils
{
[MarkupExtensionReturnType(ReturnType = typeof(string))]
public sealed class ResourceString : MarkupExtension
{
public string Name { get; set; }
protected override object ProvideValue()
{
return AppResourceProvider.GetInstance().GetResourceString(this.Name);
}
}
}

View file

@ -0,0 +1,21 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
using CalculatorApp.ViewModel.Common;
using System;
using Windows.UI.Xaml.Markup;
namespace CalculatorApp.Utils
{
[MarkupExtensionReturnType(ReturnType = typeof(MyVirtualKey))]
public sealed class ResourceVirtualKey : MarkupExtension
{
public string Name { get; set; }
protected override object ProvideValue()
{
var resourceString = AppResourceProvider.GetInstance().GetResourceString(this.Name);
return Enum.Parse(typeof(MyVirtualKey), resourceString);
}
}
}

View file

@ -2,7 +2,7 @@
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:automation="using:CalculatorApp.ViewModel.Common.Automation" xmlns:automation="using:CalculatorApp.ViewModel.Common.Automation"
xmlns:common="using:CalculatorApp.ViewModel.Common" xmlns:common="using:CalculatorApp.Common"
xmlns:contract7Present="http://schemas.microsoft.com/winfx/2006/xaml/presentation?IsApiContractPresent(Windows.Foundation.UniversalApiContract,7)" xmlns:contract7Present="http://schemas.microsoft.com/winfx/2006/xaml/presentation?IsApiContractPresent(Windows.Foundation.UniversalApiContract,7)"
xmlns:contract8NotPresent="http://schemas.microsoft.com/winfx/2006/xaml/presentation?IsApiContractNotPresent(Windows.Foundation.UniversalApiContract,8)" xmlns:contract8NotPresent="http://schemas.microsoft.com/winfx/2006/xaml/presentation?IsApiContractNotPresent(Windows.Foundation.UniversalApiContract,8)"
xmlns:contract8Present="http://schemas.microsoft.com/winfx/2006/xaml/presentation?IsApiContractPresent(Windows.Foundation.UniversalApiContract,8)" xmlns:contract8Present="http://schemas.microsoft.com/winfx/2006/xaml/presentation?IsApiContractPresent(Windows.Foundation.UniversalApiContract,8)"
@ -11,25 +11,27 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="using:CalculatorApp" xmlns:local="using:CalculatorApp"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:utils="using:CalculatorApp.Utils"
xmlns:vmcommon="using:CalculatorApp.ViewModel.Common"
Loaded="OnLoaded" Loaded="OnLoaded"
mc:Ignorable="d"> mc:Ignorable="d">
<UserControl.Resources> <UserControl.Resources>
<!-- DataTemplates --> <!-- DataTemplates -->
<DataTemplate x:Key="Operand" x:DataType="common:DisplayExpressionToken"> <DataTemplate x:Key="Operand" x:DataType="vmcommon:DisplayExpressionToken">
<TextBlock Margin="2,0,0,0" <TextBlock Margin="2,0,0,0"
Foreground="{ThemeResource SystemControlPageTextBaseMediumBrush}" Foreground="{ThemeResource SystemControlPageTextBaseMediumBrush}"
Text="{x:Bind Token, Mode=OneWay}"/> Text="{x:Bind Token, Mode=OneWay}"/>
</DataTemplate> </DataTemplate>
<DataTemplate x:Key="Operator" x:DataType="common:DisplayExpressionToken"> <DataTemplate x:Key="Operator" x:DataType="vmcommon:DisplayExpressionToken">
<TextBlock Margin="2,0,0,0" <TextBlock Margin="2,0,0,0"
Foreground="{ThemeResource SystemControlPageTextBaseMediumBrush}" Foreground="{ThemeResource SystemControlPageTextBaseMediumBrush}"
Text="{x:Bind Token, Mode=OneWay}"/> Text="{x:Bind Token, Mode=OneWay}"/>
</DataTemplate> </DataTemplate>
<DataTemplate x:Key="Separator" x:DataType="common:DisplayExpressionToken"> <DataTemplate x:Key="Separator" x:DataType="vmcommon:DisplayExpressionToken">
<TextBlock x:Name="MainText" Text="{x:Bind Token, Mode=OneWay}"/> <TextBlock x:Name="MainText" Text="{x:Bind Token, Mode=OneWay}"/>
</DataTemplate> </DataTemplate>
@ -73,22 +75,22 @@
</Grid> </Grid>
</ScrollViewer> </ScrollViewer>
<Button x:Name="ScrollLeft" <Button x:Name="ScrollLeft"
x:Uid="scrollLeft"
Grid.Column="0" Grid.Column="0"
Margin="-4,3,-4,0" Margin="-4,3,-4,0"
Style="{StaticResource ScrollButtonStyle}"> Style="{StaticResource ScrollButtonStyle}"
AutomationProperties.Name="{utils:ResourceString Name=scrollLeft/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}">
<FontIcon FontFamily="{ThemeResource CalculatorFontFamily}" <FontIcon FontFamily="{ThemeResource CalculatorFontFamily}"
FontSize="12" FontSize="12"
Glyph="&#xE96F;"/> Glyph=""/>
</Button> </Button>
<Button x:Name="ScrollRight" <Button x:Name="ScrollRight"
x:Uid="scrollRight"
Grid.Column="2" Grid.Column="2"
Margin="-4,3,-4,0" Margin="-4,3,-4,0"
Style="{StaticResource ScrollButtonStyle}"> Style="{StaticResource ScrollButtonStyle}"
AutomationProperties.Name="{utils:ResourceString Name=scrollRight/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}">
<FontIcon FontFamily="{ThemeResource CalculatorFontFamily}" <FontIcon FontFamily="{ThemeResource CalculatorFontFamily}"
FontSize="12" FontSize="12"
Glyph="&#xE970;"/> Glyph=""/>
</Button> </Button>
</Grid> </Grid>
</ControlTemplate> </ControlTemplate>
@ -179,28 +181,28 @@
</ScrollViewer> </ScrollViewer>
<Button x:Name="ScrollLeft" <Button x:Name="ScrollLeft"
x:Uid="scrollLeft"
Grid.Column="0" Grid.Column="0"
Width="{TemplateBinding ScrollButtonsWidth}" Width="{TemplateBinding ScrollButtonsWidth}"
Margin="0,3,0,0" Margin="0,3,0,0"
VerticalAlignment="Stretch" VerticalAlignment="Stretch"
Style="{StaticResource AlwaysOnTopScrollButtonStyleS}" Style="{StaticResource AlwaysOnTopScrollButtonStyleS}"
Background="Transparent"> Background="Transparent"
AutomationProperties.Name="{utils:ResourceString Name=scrollLeft/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}">
<FontIcon FontFamily="{ThemeResource CalculatorFontFamily}" <FontIcon FontFamily="{ThemeResource CalculatorFontFamily}"
FontSize="{TemplateBinding ScrollButtonsFontSize}" FontSize="{TemplateBinding ScrollButtonsFontSize}"
Glyph="&#xE96F;"/> Glyph=""/>
</Button> </Button>
<Button x:Name="ScrollRight" <Button x:Name="ScrollRight"
x:Uid="scrollRight"
Grid.Column="2" Grid.Column="2"
Width="{TemplateBinding ScrollButtonsWidth}" Width="{TemplateBinding ScrollButtonsWidth}"
Margin="0,3,0,0" Margin="0,3,0,0"
VerticalAlignment="Stretch" VerticalAlignment="Stretch"
Style="{StaticResource AlwaysOnTopScrollButtonStyleS}" Style="{StaticResource AlwaysOnTopScrollButtonStyleS}"
Background="Transparent"> Background="Transparent"
AutomationProperties.Name="{utils:ResourceString Name=scrollRight/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}">
<FontIcon FontFamily="{ThemeResource CalculatorFontFamily}" <FontIcon FontFamily="{ThemeResource CalculatorFontFamily}"
FontSize="{TemplateBinding ScrollButtonsFontSize}" FontSize="{TemplateBinding ScrollButtonsFontSize}"
Glyph="&#xE970;"/> Glyph=""/>
</Button> </Button>
</Grid> </Grid>
</ControlTemplate> </ControlTemplate>
@ -676,14 +678,16 @@
x:Load="False"/> x:Load="False"/>
<Button x:Name="HistoryButton" <Button x:Name="HistoryButton"
x:Uid="HistoryButton"
Grid.Row="0" Grid.Row="0"
Style="{StaticResource HistoryButtonStyle}" Style="{StaticResource HistoryButtonStyle}"
common:KeyboardShortcutManager.VirtualKeyControlChord="{utils:ResourceVirtualKey Name=HistoryButton/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKeyControlChord}"
AccessKey="{utils:ResourceString Name=HistoryButton/AccessKey}"
AutomationProperties.AutomationId="HistoryButton" AutomationProperties.AutomationId="HistoryButton"
Command="{x:Bind HistoryButtonPressed, Mode=OneTime}" Command="{x:Bind HistoryButtonPressed, Mode=OneTime}"
Content="&#xe81c;" Content=""
ExitDisplayModeOnAccessKeyInvoked="False" ExitDisplayModeOnAccessKeyInvoked="False"
TabIndex="2" TabIndex="2"
ToolTipService.ToolTip="{utils:ResourceString Name=HistoryButton/[using:Windows.UI.Xaml.Controls]ToolTipService/ToolTip}"
Visibility="{x:Bind local:Calculator.ShouldDisplayHistoryButton(Model.IsAlwaysOnTop, Model.IsProgrammer, DockPanel.Visibility), Mode=OneWay}" Visibility="{x:Bind local:Calculator.ShouldDisplayHistoryButton(Model.IsAlwaysOnTop, Model.IsProgrammer, DockPanel.Visibility), Mode=OneWay}"
IsEnabled="{x:Bind Model.IsAlwaysOnTop, Converter={StaticResource BooleanNegationConverter}, Mode=OneWay}"> IsEnabled="{x:Bind Model.IsAlwaysOnTop, Converter={StaticResource BooleanNegationConverter}, Mode=OneWay}">
<FlyoutBase.AttachedFlyout> <FlyoutBase.AttachedFlyout>
@ -706,10 +710,10 @@
<!-- Memory panel controls --> <!-- Memory panel controls -->
<Grid x:Name="MemoryPanel" <Grid x:Name="MemoryPanel"
x:Uid="MemoryPanel"
Grid.Row="4" Grid.Row="4"
Margin="3,0,3,0" Margin="3,0,3,0"
AutomationProperties.HeadingLevel="Level1" AutomationProperties.HeadingLevel="Level1"
AutomationProperties.Name="{utils:ResourceString Name=MemoryPanel/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
Visibility="{x:Bind Model.IsAlwaysOnTop, Converter={StaticResource BooleanToVisibilityNegationConverter}, Mode=OneWay}"> Visibility="{x:Bind Model.IsAlwaysOnTop, Converter={StaticResource BooleanToVisibilityNegationConverter}, Mode=OneWay}">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="1*" MaxWidth="80"/> <ColumnDefinition Width="1*" MaxWidth="80"/>
@ -726,67 +730,78 @@
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<controls:CalculatorButton x:Name="ClearMemoryButton" <controls:CalculatorButton x:Name="ClearMemoryButton"
x:Uid="ClearMemoryButton"
Style="{StaticResource CaptionButtonStyle}" Style="{StaticResource CaptionButtonStyle}"
common:KeyboardShortcutManager.VirtualKeyControlChord="{utils:ResourceVirtualKey Name=ClearMemoryButton/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKeyControlChord}"
AutomationProperties.AutomationId="ClearMemoryButton" AutomationProperties.AutomationId="ClearMemoryButton"
AutomationProperties.Name="{utils:ResourceString Name=ClearMemoryButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
Command="{x:Bind Model.ClearMemoryCommand}" Command="{x:Bind Model.ClearMemoryCommand}"
Content="&#xF754;" Content=""
TabIndex="10" TabIndex="10"
ToolTipService.ToolTip="{utils:ResourceString Name=ClearMemoryButton/[using:Windows.UI.Xaml.Controls]ToolTipService/ToolTip}"
Visibility="{Binding IsProgrammer, Converter={StaticResource BooleanToVisibilityNegationConverter}}"/> Visibility="{Binding IsProgrammer, Converter={StaticResource BooleanToVisibilityNegationConverter}}"/>
<controls:CalculatorButton x:Name="MemRecall" <controls:CalculatorButton x:Name="MemRecall"
x:Uid="MemRecall"
Grid.Column="1" Grid.Column="1"
Style="{StaticResource CaptionButtonStyle}" Style="{StaticResource CaptionButtonStyle}"
common:KeyboardShortcutManager.VirtualKeyControlChord="{utils:ResourceVirtualKey Name=MemRecall/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKeyControlChord}"
AutomationProperties.AutomationId="MemRecall" AutomationProperties.AutomationId="MemRecall"
AutomationProperties.Name="{utils:ResourceString Name=MemRecall/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
Command="{x:Bind Model.MemoryItemPressed}" Command="{x:Bind Model.MemoryItemPressed}"
CommandParameter="{StaticResource Zero}" CommandParameter="{StaticResource Zero}"
Content="&#xF755;" Content=""
TabIndex="11" TabIndex="11"
ToolTipService.ToolTip="{utils:ResourceString Name=MemRecall/[using:Windows.UI.Xaml.Controls]ToolTipService/ToolTip}"
Visibility="{Binding IsProgrammer, Converter={StaticResource BooleanToVisibilityNegationConverter}}"/> Visibility="{Binding IsProgrammer, Converter={StaticResource BooleanToVisibilityNegationConverter}}"/>
<controls:CalculatorButton x:Name="MemPlus" <controls:CalculatorButton x:Name="MemPlus"
x:Uid="MemPlus"
Grid.Column="2" Grid.Column="2"
Style="{StaticResource CaptionButtonStyle}" Style="{StaticResource CaptionButtonStyle}"
common:KeyboardShortcutManager.VirtualKeyControlChord="{utils:ResourceVirtualKey Name=MemPlus/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKeyControlChord}"
AutomationProperties.AutomationId="MemPlus" AutomationProperties.AutomationId="MemPlus"
AutomationProperties.Name="{utils:ResourceString Name=MemPlus/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
Command="{x:Bind Model.MemoryAdd}" Command="{x:Bind Model.MemoryAdd}"
CommandParameter="{StaticResource Zero}" CommandParameter="{StaticResource Zero}"
Content="&#xF757;" Content=""
TabIndex="12" TabIndex="12"
ToolTipService.ToolTip="{utils:ResourceString Name=MemPlus/[using:Windows.UI.Xaml.Controls]ToolTipService/ToolTip}"
Visibility="{Binding IsProgrammer, Converter={StaticResource BooleanToVisibilityNegationConverter}}"/> Visibility="{Binding IsProgrammer, Converter={StaticResource BooleanToVisibilityNegationConverter}}"/>
<controls:CalculatorButton x:Name="MemMinus" <controls:CalculatorButton x:Name="MemMinus"
x:Uid="MemMinus"
Grid.Column="3" Grid.Column="3"
Style="{StaticResource CaptionButtonStyle}" Style="{StaticResource CaptionButtonStyle}"
common:KeyboardShortcutManager.VirtualKeyControlChord="{utils:ResourceVirtualKey Name=MemMinus/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKeyControlChord}"
AutomationProperties.AutomationId="MemMinus" AutomationProperties.AutomationId="MemMinus"
AutomationProperties.Name="{utils:ResourceString Name=MemMinus/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
Command="{x:Bind Model.MemorySubtract}" Command="{x:Bind Model.MemorySubtract}"
CommandParameter="{StaticResource Zero}" CommandParameter="{StaticResource Zero}"
Content="&#xF758;" Content=""
TabIndex="13" TabIndex="13"
ToolTipService.ToolTip="{utils:ResourceString Name=MemMinus/[using:Windows.UI.Xaml.Controls]ToolTipService/ToolTip}"
Visibility="{Binding IsProgrammer, Converter={StaticResource BooleanToVisibilityNegationConverter}}"/> Visibility="{Binding IsProgrammer, Converter={StaticResource BooleanToVisibilityNegationConverter}}"/>
<controls:CalculatorButton x:Name="MemButton" <controls:CalculatorButton x:Name="MemButton"
x:Uid="memButton"
Grid.Column="4" Grid.Column="4"
Style="{StaticResource CaptionButtonStyle}" Style="{StaticResource CaptionButtonStyle}"
common:KeyboardShortcutManager.VirtualKeyControlChord="{utils:ResourceVirtualKey Name=memButton/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKeyControlChord}"
AutomationProperties.AutomationId="memButton" AutomationProperties.AutomationId="memButton"
AutomationProperties.Name="{utils:ResourceString Name=memButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="Memory" ButtonId="Memory"
Content="&#xF756;" Content=""
TabIndex="14"/> TabIndex="14"
ToolTipService.ToolTip="{utils:ResourceString Name=memButton/[using:Windows.UI.Xaml.Controls]ToolTipService/ToolTip}"/>
<Button x:Name="MemoryButton" <Button x:Name="MemoryButton"
x:Uid="MemoryButton"
Grid.Column="6" Grid.Column="6"
MinWidth="15.5" MinWidth="15.5"
MinHeight="8.402" MinHeight="8.402"
Style="{StaticResource CaptionButtonStyle}" Style="{StaticResource CaptionButtonStyle}"
AccessKey="{utils:ResourceString Name=MemoryButton/AccessKey}"
AutomationProperties.AutomationId="MemoryButton" AutomationProperties.AutomationId="MemoryButton"
Click="ToggleMemoryFlyout" Click="ToggleMemoryFlyout"
Content="&#xE61D;" Content=""
ExitDisplayModeOnAccessKeyInvoked="False" ExitDisplayModeOnAccessKeyInvoked="False"
TabIndex="15" TabIndex="15"
ToolTipService.ToolTip="{utils:ResourceString Name=MemoryButton/[using:Windows.UI.Xaml.Controls]ToolTipService/ToolTip}"
IsEnabled="{x:Bind Model.IsMemoryEmpty, Converter={StaticResource BooleanNegationConverter}, Mode=OneWay}"> IsEnabled="{x:Bind Model.IsMemoryEmpty, Converter={StaticResource BooleanNegationConverter}, Mode=OneWay}">
<FlyoutBase.AttachedFlyout> <FlyoutBase.AttachedFlyout>
<Flyout x:Name="MemoryFlyout" <Flyout x:Name="MemoryFlyout"
x:Uid="MemoryFlyout"
AutomationProperties.AutomationId="MemoryFlyout" AutomationProperties.AutomationId="MemoryFlyout"
AutomationProperties.Name="{utils:ResourceString Name=MemoryFlyout/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
Closed="OnMemoryFlyoutClosed" Closed="OnMemoryFlyoutClosed"
FlyoutPresenterStyle="{StaticResource MemoryFlyoutStyle}" FlyoutPresenterStyle="{StaticResource MemoryFlyoutStyle}"
Opened="OnMemoryFlyoutOpened" Opened="OnMemoryFlyoutOpened"
@ -809,10 +824,10 @@
<!-- Docked Pivot panel for history/memory --> <!-- Docked Pivot panel for history/memory -->
<Border x:Name="DockPanel" <Border x:Name="DockPanel"
x:Uid="DockPanel"
Grid.Row="1" Grid.Row="1"
Grid.Column="1" Grid.Column="1"
AutomationProperties.HeadingLevel="Level1" AutomationProperties.HeadingLevel="Level1"
AutomationProperties.Name="{utils:ResourceString Name=DockPanel/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
Visibility="Collapsed"> Visibility="Collapsed">
<Border.Resources> <Border.Resources>
<!-- <!--
@ -981,7 +996,7 @@
Foreground="{ThemeResource PivotNextButtonForeground}" Foreground="{ThemeResource PivotNextButtonForeground}"
FontFamily="{ThemeResource CalculatorFontFamily}" FontFamily="{ThemeResource CalculatorFontFamily}"
FontSize="12" FontSize="12"
Glyph="&#xE970;" Glyph=""
MirroredWhenRightToLeft="True"/> MirroredWhenRightToLeft="True"/>
</Border> </Border>
</ControlTemplate> </ControlTemplate>
@ -1028,7 +1043,7 @@
Foreground="{ThemeResource PivotPreviousButtonForeground}" Foreground="{ThemeResource PivotPreviousButtonForeground}"
FontFamily="{ThemeResource CalculatorFontFamily}" FontFamily="{ThemeResource CalculatorFontFamily}"
FontSize="12" FontSize="12"
Glyph="&#xE96F;" Glyph=""
MirroredWhenRightToLeft="True"/> MirroredWhenRightToLeft="True"/>
</Border> </Border>
</ControlTemplate> </ControlTemplate>
@ -1327,20 +1342,24 @@
</Style> </Style>
</Pivot.Resources> </Pivot.Resources>
<PivotItem x:Name="HistoryPivotItem" <PivotItem x:Name="HistoryPivotItem"
x:Uid="HistoryPivotItem"
Margin="0,10,0,0" Margin="0,10,0,0"
AutomationProperties.AutomationId="HistoryLabel"> AutomationProperties.AutomationId="HistoryLabel"
AutomationProperties.Name="{utils:ResourceString Name=HistoryPivotItem/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}">
<PivotItem.Header> <PivotItem.Header>
<TextBlock x:Uid="HistoryLabel" AccessKeyInvoked="OnHistoryAccessKeyInvoked"/> <TextBlock AccessKey="{utils:ResourceString Name=HistoryLabel/AccessKey}"
AccessKeyInvoked="OnHistoryAccessKeyInvoked"
Text="{utils:ResourceString Name=HistoryLabel/Text}"/>
</PivotItem.Header> </PivotItem.Header>
<Border x:Name="DockHistoryHolder"/> <Border x:Name="DockHistoryHolder"/>
</PivotItem> </PivotItem>
<PivotItem x:Name="MemoryPivotItem" <PivotItem x:Name="MemoryPivotItem"
x:Uid="MemoryPivotItem"
Margin="0,10,0,0" Margin="0,10,0,0"
AutomationProperties.AutomationId="MemoryLabel"> AutomationProperties.AutomationId="MemoryLabel"
AutomationProperties.Name="{utils:ResourceString Name=MemoryPivotItem/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}">
<PivotItem.Header> <PivotItem.Header>
<TextBlock x:Uid="MemoryLabel" AccessKeyInvoked="OnMemoryAccessKeyInvoked"/> <TextBlock AccessKey="{utils:ResourceString Name=MemoryLabel/AccessKey}"
AccessKeyInvoked="OnMemoryAccessKeyInvoked"
Text="{utils:ResourceString Name=MemoryLabel/Text}"/>
</PivotItem.Header> </PivotItem.Header>
<Border x:Name="DockMemoryHolder"/> <Border x:Name="DockMemoryHolder"/>
</PivotItem> </PivotItem>

View file

@ -6,6 +6,7 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="using:CalculatorApp" xmlns:local="using:CalculatorApp"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:utils="using:CalculatorApp.Utils"
x:Name="BitFlip" x:Name="BitFlip"
d:DesignHeight="395" d:DesignHeight="395"
d:DesignWidth="315" d:DesignWidth="315"
@ -98,7 +99,6 @@
AutomationProperties.AccessibilityView="Raw" AutomationProperties.AccessibilityView="Raw"
Content="{Binding Text, ElementName=BinaryZero, Mode=OneWay}"/> Content="{Binding Text, ElementName=BinaryZero, Mode=OneWay}"/>
<TextBlock x:Name="BinaryZero" <TextBlock x:Name="BinaryZero"
x:Uid="BinaryZero"
Margin="{TemplateBinding Padding}" Margin="{TemplateBinding Padding}"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
@ -106,9 +106,9 @@
FontSize="{TemplateBinding FontSize}" FontSize="{TemplateBinding FontSize}"
FontWeight="SemiBold" FontWeight="SemiBold"
AutomationProperties.AccessibilityView="Raw" AutomationProperties.AccessibilityView="Raw"
IsTextScaleFactorEnabled="False"/> IsTextScaleFactorEnabled="False"
Text="{utils:ResourceString Name=BinaryZero/Text}"/>
<TextBlock x:Name="BinaryOne" <TextBlock x:Name="BinaryOne"
x:Uid="BinaryOne"
Margin="{TemplateBinding Padding}" Margin="{TemplateBinding Padding}"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
@ -117,6 +117,7 @@
FontWeight="SemiBold" FontWeight="SemiBold"
AutomationProperties.AccessibilityView="Raw" AutomationProperties.AccessibilityView="Raw"
IsTextScaleFactorEnabled="False" IsTextScaleFactorEnabled="False"
Text="{utils:ResourceString Name=BinaryOne/Text}"
Visibility="Collapsed"/> Visibility="Collapsed"/>
</Grid> </Grid>
</Grid> </Grid>
@ -137,9 +138,9 @@
</Style> </Style>
</UserControl.Resources> </UserControl.Resources>
<Grid x:Name="BitFlipPanel" <Grid x:Name="BitFlipPanel"
x:Uid="BitFlipPanel"
Margin="0,1,0,1" Margin="0,1,0,1"
AutomationProperties.HeadingLevel="Level1"> AutomationProperties.HeadingLevel="Level1"
AutomationProperties.Name="{utils:ResourceString Name=BitFlipPanel/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}">
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/>
<RowDefinition Height="1*"/> <RowDefinition Height="1*"/>

View file

@ -7,13 +7,14 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="using:CalculatorApp" xmlns:local="using:CalculatorApp"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:utils="using:CalculatorApp.Utils"
Margin="3,0,0,0" Margin="3,0,0,0"
d:DesignHeight="300" d:DesignHeight="300"
d:DesignWidth="400" d:DesignWidth="400"
mc:Ignorable="d"> mc:Ignorable="d">
<UserControl.Resources> <UserControl.Resources>
<converters:BooleanNegationConverter x:Key="BooleanNegationConverter"/> <converters:BooleanNegationConverter x:Key="BooleanNegationConverter"/>
</UserControl.Resources> </UserControl.Resources>
<Grid x:Name="ProgrammerDisplay"> <Grid x:Name="ProgrammerDisplay">
@ -51,64 +52,70 @@
</VisualState> </VisualState>
</VisualStateGroup> </VisualStateGroup>
</VisualStateManager.VisualStateGroups> </VisualStateManager.VisualStateGroups>
<Grid x:Uid="InputModeSelectionGroup" <Grid Grid.Column="0"
Grid.Column="0" AutomationProperties.HeadingLevel="Level1"
AutomationProperties.HeadingLevel="Level1"> AutomationProperties.Name="{utils:ResourceString Name=InputModeSelectionGroup/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="1*" MaxWidth="80"/> <ColumnDefinition Width="1*" MaxWidth="80"/>
<ColumnDefinition Width="1*" MaxWidth="80"/> <ColumnDefinition Width="1*" MaxWidth="80"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<RadioButton x:Name="FullKeypad" <RadioButton x:Name="FullKeypad"
x:Uid="fullKeypad"
Style="{StaticResource ConditionalProgKeypadRadioButtonStyle}" Style="{StaticResource ConditionalProgKeypadRadioButtonStyle}"
AutomationProperties.AutomationId="fullKeypad" AutomationProperties.AutomationId="fullKeypad"
Content="&#xe75f;" AutomationProperties.Name="{utils:ResourceString Name=fullKeypad/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
IsChecked="{x:Bind Model.IsBitFlipChecked, Converter={StaticResource BooleanNegationConverter}, Mode=TwoWay}"/> Content=""
IsChecked="{x:Bind Model.IsBitFlipChecked, Converter={StaticResource BooleanNegationConverter}, Mode=TwoWay}"
ToolTipService.ToolTip="{utils:ResourceString Name=fullKeypad/[using:Windows.UI.Xaml.Controls]ToolTipService/ToolTip}"/>
<RadioButton x:Name="BitFlip" <RadioButton x:Name="BitFlip"
x:Uid="bitFlip"
Grid.Column="1" Grid.Column="1"
Style="{StaticResource ConditionalProgKeypadRadioButtonStyle}" Style="{StaticResource ConditionalProgKeypadRadioButtonStyle}"
AutomationProperties.AutomationId="bitFlip" AutomationProperties.AutomationId="bitFlip"
Content="&#xf7d0;" AutomationProperties.Name="{utils:ResourceString Name=bitFlip/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
IsChecked="{x:Bind Model.IsBitFlipChecked, Mode=TwoWay}"/> Content=""
IsChecked="{x:Bind Model.IsBitFlipChecked, Mode=TwoWay}"
ToolTipService.ToolTip="{utils:ResourceString Name=bitFlip/[using:Windows.UI.Xaml.Controls]ToolTipService/ToolTip}"/>
</Grid> </Grid>
<Button x:Name="QwordButton" <Button x:Name="QwordButton"
x:Uid="qwordButton"
Grid.Column="0" Grid.Column="0"
Grid.ColumnSpan="7" Grid.ColumnSpan="7"
Style="{StaticResource ProgWordSizeButtonStyle}" Style="{StaticResource ProgWordSizeButtonStyle}"
common:KeyboardShortcutManager.VirtualKey="{utils:ResourceVirtualKey Name=qwordButton/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKey}"
AutomationProperties.AutomationId="qwordButton" AutomationProperties.AutomationId="qwordButton"
AutomationProperties.Name="{utils:ResourceString Name=qwordButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
Command="{x:Bind BitLengthButtonPressed, Mode=OneTime}" Command="{x:Bind BitLengthButtonPressed, Mode=OneTime}"
CommandParameter="0" CommandParameter="0"
Content="QWORD"/> Content="QWORD"/>
<Button x:Name="DwordButton" <Button x:Name="DwordButton"
x:Uid="dwordButton"
Grid.Column="0" Grid.Column="0"
Grid.ColumnSpan="7" Grid.ColumnSpan="7"
Style="{StaticResource ProgWordSizeButtonStyle}" Style="{StaticResource ProgWordSizeButtonStyle}"
common:KeyboardShortcutManager.VirtualKey="{utils:ResourceVirtualKey Name=dwordButton/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKey}"
AutomationProperties.AutomationId="dwordButton" AutomationProperties.AutomationId="dwordButton"
AutomationProperties.Name="{utils:ResourceString Name=dwordButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
Command="{x:Bind BitLengthButtonPressed, Mode=OneTime}" Command="{x:Bind BitLengthButtonPressed, Mode=OneTime}"
CommandParameter="1" CommandParameter="1"
Content="DWORD" Content="DWORD"
Visibility="Collapsed"/> Visibility="Collapsed"/>
<Button x:Name="WordButton" <Button x:Name="WordButton"
x:Uid="wordButton"
Grid.Column="0" Grid.Column="0"
Grid.ColumnSpan="7" Grid.ColumnSpan="7"
Style="{StaticResource ProgWordSizeButtonStyle}" Style="{StaticResource ProgWordSizeButtonStyle}"
common:KeyboardShortcutManager.VirtualKey="{utils:ResourceVirtualKey Name=wordButton/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKey}"
AutomationProperties.AutomationId="wordButton" AutomationProperties.AutomationId="wordButton"
AutomationProperties.Name="{utils:ResourceString Name=wordButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
Command="{x:Bind BitLengthButtonPressed, Mode=OneTime}" Command="{x:Bind BitLengthButtonPressed, Mode=OneTime}"
CommandParameter="2" CommandParameter="2"
Content="WORD" Content="WORD"
Visibility="Collapsed"/> Visibility="Collapsed"/>
<Button x:Name="ByteButton" <Button x:Name="ByteButton"
x:Uid="byteButton"
Grid.Column="0" Grid.Column="0"
Grid.ColumnSpan="7" Grid.ColumnSpan="7"
Style="{StaticResource ProgWordSizeButtonStyle}" Style="{StaticResource ProgWordSizeButtonStyle}"
common:KeyboardShortcutManager.VirtualKey="{utils:ResourceVirtualKey Name=byteButton/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKey}"
AutomationProperties.AutomationId="byteButton" AutomationProperties.AutomationId="byteButton"
AutomationProperties.Name="{utils:ResourceString Name=byteButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
Command="{x:Bind BitLengthButtonPressed, Mode=OneTime}" Command="{x:Bind BitLengthButtonPressed, Mode=OneTime}"
CommandParameter="3" CommandParameter="3"
Content="BYTE" Content="BYTE"

View file

@ -9,6 +9,7 @@
xmlns:designdata="using:CalculatorApp.DesignData" xmlns:designdata="using:CalculatorApp.DesignData"
xmlns:local="using:CalculatorApp" xmlns:local="using:CalculatorApp"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:utils="using:CalculatorApp.Utils"
x:Name="ControlRoot" x:Name="ControlRoot"
d:DesignHeight="400" d:DesignHeight="400"
d:DesignWidth="315" d:DesignWidth="315"
@ -172,10 +173,10 @@
</MenuFlyout> </MenuFlyout>
</UserControl.Resources> </UserControl.Resources>
<Grid x:Name="ProgrammerOperators" <Grid x:Name="ProgrammerOperators"
x:Uid="RadixGroup"
MaxHeight="244" MaxHeight="244"
Margin="4,0" Margin="4,0"
AutomationProperties.HeadingLevel="Level1" AutomationProperties.HeadingLevel="Level1"
AutomationProperties.Name="{utils:ResourceString Name=RadixGroup/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
FlowDirection="LeftToRight"> FlowDirection="LeftToRight">
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="1*" MinHeight="0"/> <RowDefinition Height="1*" MinHeight="0"/>
@ -204,48 +205,52 @@
</VisualStateGroup> </VisualStateGroup>
</VisualStateManager.VisualStateGroups> </VisualStateManager.VisualStateGroups>
<controls:RadixButton x:Name="HexButton" <controls:RadixButton x:Name="HexButton"
x:Uid="hexButton"
HorizontalAlignment="Stretch" HorizontalAlignment="Stretch"
Style="{ThemeResource ConditionalProgModeRadioButtonStyle}" Style="{ThemeResource ConditionalProgModeRadioButtonStyle}"
common:KeyboardShortcutManager.VirtualKey="{utils:ResourceVirtualKey Name=hexButton/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKey}"
AutomationProperties.AutomationId="hexButton" AutomationProperties.AutomationId="hexButton"
AutomationProperties.Name="{x:Bind Model.HexDisplayValue_AutomationName, Mode=OneWay}" AutomationProperties.Name="{x:Bind Model.HexDisplayValue_AutomationName, Mode=OneWay}"
Checked="HexButtonChecked" Checked="HexButtonChecked"
Content="{x:Bind Model.HexDisplayValue, Mode=OneWay}" Content="{x:Bind Model.HexDisplayValue, Mode=OneWay}"
ContextFlyout="{StaticResource ProgrammerOperatorsContextMenu}" ContextFlyout="{StaticResource ProgrammerOperatorsContextMenu}"
GroupName="BaseConversion"/> GroupName="BaseConversion"
Tag="{utils:ResourceString Name=hexButton/Tag}"/>
<controls:RadixButton x:Name="DecimalButton" <controls:RadixButton x:Name="DecimalButton"
x:Uid="decimalButton"
Grid.Row="1" Grid.Row="1"
HorizontalAlignment="Stretch" HorizontalAlignment="Stretch"
Style="{ThemeResource ConditionalProgModeRadioButtonStyle}" Style="{ThemeResource ConditionalProgModeRadioButtonStyle}"
common:KeyboardShortcutManager.VirtualKey="{utils:ResourceVirtualKey Name=decimalButton/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKey}"
AutomationProperties.AutomationId="decimalButton" AutomationProperties.AutomationId="decimalButton"
AutomationProperties.Name="{x:Bind Model.DecDisplayValue_AutomationName, Mode=OneWay}" AutomationProperties.Name="{x:Bind Model.DecDisplayValue_AutomationName, Mode=OneWay}"
Checked="DecButtonChecked" Checked="DecButtonChecked"
Content="{x:Bind Model.DecimalDisplayValue, Mode=OneWay}" Content="{x:Bind Model.DecimalDisplayValue, Mode=OneWay}"
ContextFlyout="{StaticResource ProgrammerOperatorsContextMenu}" ContextFlyout="{StaticResource ProgrammerOperatorsContextMenu}"
GroupName="BaseConversion" GroupName="BaseConversion"
IsChecked="true"/> IsChecked="true"
Tag="{utils:ResourceString Name=decimalButton/Tag}"/>
<controls:RadixButton x:Name="OctButton" <controls:RadixButton x:Name="OctButton"
x:Uid="octButton"
Grid.Row="2" Grid.Row="2"
HorizontalAlignment="Stretch" HorizontalAlignment="Stretch"
Style="{ThemeResource ConditionalProgModeRadioButtonStyle}" Style="{ThemeResource ConditionalProgModeRadioButtonStyle}"
common:KeyboardShortcutManager.VirtualKey="{utils:ResourceVirtualKey Name=octButton/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKey}"
AutomationProperties.AutomationId="octolButton" AutomationProperties.AutomationId="octolButton"
AutomationProperties.Name="{x:Bind Model.OctDisplayValue_AutomationName, Mode=OneWay}" AutomationProperties.Name="{x:Bind Model.OctDisplayValue_AutomationName, Mode=OneWay}"
Checked="OctButtonChecked" Checked="OctButtonChecked"
Content="{x:Bind Model.OctalDisplayValue, Mode=OneWay}" Content="{x:Bind Model.OctalDisplayValue, Mode=OneWay}"
ContextFlyout="{StaticResource ProgrammerOperatorsContextMenu}" ContextFlyout="{StaticResource ProgrammerOperatorsContextMenu}"
GroupName="BaseConversion"/> GroupName="BaseConversion"
Tag="{utils:ResourceString Name=octButton/Tag}"/>
<controls:RadixButton x:Name="BinaryButton" <controls:RadixButton x:Name="BinaryButton"
x:Uid="binaryButton"
Grid.Row="3" Grid.Row="3"
HorizontalAlignment="Stretch" HorizontalAlignment="Stretch"
Style="{ThemeResource ConditionalProgModeRadioButtonStyle}" Style="{ThemeResource ConditionalProgModeRadioButtonStyle}"
common:KeyboardShortcutManager.VirtualKey="{utils:ResourceVirtualKey Name=binaryButton/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKey}"
AutomationProperties.AutomationId="binaryButton" AutomationProperties.AutomationId="binaryButton"
AutomationProperties.Name="{x:Bind Model.BinDisplayValue_AutomationName, Mode=OneWay}" AutomationProperties.Name="{x:Bind Model.BinDisplayValue_AutomationName, Mode=OneWay}"
Checked="BinButtonChecked" Checked="BinButtonChecked"
Content="{x:Bind Model.BinaryDisplayValue, Mode=OneWay}" Content="{x:Bind Model.BinaryDisplayValue, Mode=OneWay}"
ContextFlyout="{StaticResource ProgrammerOperatorsContextMenu}" ContextFlyout="{StaticResource ProgrammerOperatorsContextMenu}"
GroupName="BaseConversion"/> GroupName="BaseConversion"
Tag="{utils:ResourceString Name=binaryButton/Tag}"/>
</Grid> </Grid>
</UserControl> </UserControl>

View file

@ -10,6 +10,7 @@
xmlns:local="using:CalculatorApp" xmlns:local="using:CalculatorApp"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:triggers="using:CalculatorApp.Views.StateTriggers" xmlns:triggers="using:CalculatorApp.Views.StateTriggers"
xmlns:utils="using:CalculatorApp.Utils"
x:Name="ControlRoot" x:Name="ControlRoot"
d:DesignHeight="395" d:DesignHeight="395"
d:DesignWidth="315" d:DesignWidth="315"
@ -227,16 +228,17 @@
</VisualStateGroup> </VisualStateGroup>
</VisualStateManager.VisualStateGroups> </VisualStateManager.VisualStateGroups>
<controls:OperatorPanelListView x:Uid="ProgrammerOperatorPanel" <controls:OperatorPanelListView Grid.ColumnSpan="6"
Grid.ColumnSpan="6"
Background="{ThemeResource AppOperatorPanelBackground}" Background="{ThemeResource AppOperatorPanelBackground}"
AutomationProperties.HeadingLevel="Level1"> AutomationProperties.HeadingLevel="Level1"
AutomationProperties.Name="{utils:ResourceString Name=ProgrammerOperatorPanel/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}">
<controls:OperatorPanelButton x:Name="BitwiseButton" <controls:OperatorPanelButton x:Name="BitwiseButton"
x:Uid="bitwiseButton"
Style="{StaticResource OperatorPanelButtonStyle}" Style="{StaticResource OperatorPanelButtonStyle}"
AutomationProperties.AutomationId="bitwiseButton" AutomationProperties.AutomationId="bitwiseButton"
Glyph="&#xF895;"> AutomationProperties.Name="{utils:ResourceString Name=bitwiseButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
Glyph=""
Text="{utils:ResourceString Name=bitwiseButton/Text}">
<controls:OperatorPanelButton.FlyoutMenu> <controls:OperatorPanelButton.FlyoutMenu>
<Flyout x:Name="BitwiseFlyout" <Flyout x:Name="BitwiseFlyout"
Windows10version1803:Placement="Bottom" Windows10version1803:Placement="Bottom"
@ -262,10 +264,12 @@
causing the shortcut keys to be used when the control would normally be disabled. causing the shortcut keys to be used when the control would normally be disabled.
--> -->
<controls:CalculatorButton x:Name="AndButton" <controls:CalculatorButton x:Name="AndButton"
x:Uid="andButton"
Style="{StaticResource OperatorButtonStyle}" Style="{StaticResource OperatorButtonStyle}"
FontSize="12" FontSize="12"
common:KeyboardShortcutManager.Character="{utils:ResourceString Name=andButton/[using:CalculatorApp.Common]KeyboardShortcutManager/Character}"
AuditoryFeedback="{utils:ResourceString Name=andButton/[using:CalculatorApp.Controls]CalculatorButton/AuditoryFeedback}"
AutomationProperties.AutomationId="andButton" AutomationProperties.AutomationId="andButton"
AutomationProperties.Name="{utils:ResourceString Name=andButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="And" ButtonId="And"
Click="FlyoutButton_Clicked" Click="FlyoutButton_Clicked"
Command="{x:Bind Model.ButtonPressed}" Command="{x:Bind Model.ButtonPressed}"
@ -273,11 +277,13 @@
IsEnabled="{x:Bind BitwiseButton.IsEnabled, Mode=OneWay}"/> IsEnabled="{x:Bind BitwiseButton.IsEnabled, Mode=OneWay}"/>
<controls:CalculatorButton x:Name="OrButton" <controls:CalculatorButton x:Name="OrButton"
x:Uid="orButton"
Grid.Column="1" Grid.Column="1"
Style="{StaticResource OperatorButtonStyle}" Style="{StaticResource OperatorButtonStyle}"
FontSize="12" FontSize="12"
common:KeyboardShortcutManager.Character="{utils:ResourceString Name=orButton/[using:CalculatorApp.Common]KeyboardShortcutManager/Character}"
AuditoryFeedback="{utils:ResourceString Name=orButton/[using:CalculatorApp.Controls]CalculatorButton/AuditoryFeedback}"
AutomationProperties.AutomationId="orButton" AutomationProperties.AutomationId="orButton"
AutomationProperties.Name="{utils:ResourceString Name=orButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="Or" ButtonId="Or"
Click="FlyoutButton_Clicked" Click="FlyoutButton_Clicked"
Command="{x:Bind Model.ButtonPressed}" Command="{x:Bind Model.ButtonPressed}"
@ -285,11 +291,12 @@
IsEnabled="{x:Bind BitwiseButton.IsEnabled, Mode=OneWay}"/> IsEnabled="{x:Bind BitwiseButton.IsEnabled, Mode=OneWay}"/>
<controls:CalculatorButton x:Name="NotButton" <controls:CalculatorButton x:Name="NotButton"
x:Uid="notButton"
Grid.Column="2" Grid.Column="2"
Style="{StaticResource OperatorButtonStyle}" Style="{StaticResource OperatorButtonStyle}"
FontSize="12" FontSize="12"
common:KeyboardShortcutManager.Character="{utils:ResourceString Name=notButton/[using:CalculatorApp.Common]KeyboardShortcutManager/Character}"
AutomationProperties.AutomationId="notButton" AutomationProperties.AutomationId="notButton"
AutomationProperties.Name="{utils:ResourceString Name=notButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="Not" ButtonId="Not"
Click="FlyoutButton_Clicked" Click="FlyoutButton_Clicked"
Command="{x:Bind Model.ButtonPressed}" Command="{x:Bind Model.ButtonPressed}"
@ -297,11 +304,13 @@
IsEnabled="{x:Bind BitwiseButton.IsEnabled, Mode=OneWay}"/> IsEnabled="{x:Bind BitwiseButton.IsEnabled, Mode=OneWay}"/>
<controls:CalculatorButton x:Name="NandButton" <controls:CalculatorButton x:Name="NandButton"
x:Uid="nandButton"
Grid.Row="1" Grid.Row="1"
Style="{StaticResource OperatorButtonStyle}" Style="{StaticResource OperatorButtonStyle}"
FontSize="12" FontSize="12"
common:KeyboardShortcutManager.Character="{utils:ResourceString Name=nandButton/[using:CalculatorApp.Common]KeyboardShortcutManager/Character}"
AuditoryFeedback="{utils:ResourceString Name=nandButton/[using:CalculatorApp.Controls]CalculatorButton/AuditoryFeedback}"
AutomationProperties.AutomationId="nandButton" AutomationProperties.AutomationId="nandButton"
AutomationProperties.Name="{utils:ResourceString Name=nandButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="Nand" ButtonId="Nand"
Click="FlyoutButton_Clicked" Click="FlyoutButton_Clicked"
Command="{x:Bind Model.ButtonPressed}" Command="{x:Bind Model.ButtonPressed}"
@ -309,12 +318,14 @@
IsEnabled="{x:Bind BitwiseButton.IsEnabled, Mode=OneWay}"/> IsEnabled="{x:Bind BitwiseButton.IsEnabled, Mode=OneWay}"/>
<controls:CalculatorButton x:Name="NorButton" <controls:CalculatorButton x:Name="NorButton"
x:Uid="norButton"
Grid.Row="1" Grid.Row="1"
Grid.Column="1" Grid.Column="1"
Style="{StaticResource OperatorButtonStyle}" Style="{StaticResource OperatorButtonStyle}"
FontSize="12" FontSize="12"
common:KeyboardShortcutManager.Character="{utils:ResourceString Name=norButton/[using:CalculatorApp.Common]KeyboardShortcutManager/Character}"
AuditoryFeedback="{utils:ResourceString Name=norButton/[using:CalculatorApp.Controls]CalculatorButton/AuditoryFeedback}"
AutomationProperties.AutomationId="norButton" AutomationProperties.AutomationId="norButton"
AutomationProperties.Name="{utils:ResourceString Name=norButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="Nor" ButtonId="Nor"
Click="FlyoutButton_Clicked" Click="FlyoutButton_Clicked"
Command="{x:Bind Model.ButtonPressed}" Command="{x:Bind Model.ButtonPressed}"
@ -322,12 +333,14 @@
IsEnabled="{x:Bind BitwiseButton.IsEnabled, Mode=OneWay}"/> IsEnabled="{x:Bind BitwiseButton.IsEnabled, Mode=OneWay}"/>
<controls:CalculatorButton x:Name="XorButton" <controls:CalculatorButton x:Name="XorButton"
x:Uid="xorButton"
Grid.Row="1" Grid.Row="1"
Grid.Column="2" Grid.Column="2"
Style="{StaticResource OperatorButtonStyle}" Style="{StaticResource OperatorButtonStyle}"
FontSize="12" FontSize="12"
common:KeyboardShortcutManager.Character="{utils:ResourceString Name=xorButton/[using:CalculatorApp.Common]KeyboardShortcutManager/Character}"
AuditoryFeedback="{utils:ResourceString Name=xorButton/[using:CalculatorApp.Controls]CalculatorButton/AuditoryFeedback}"
AutomationProperties.AutomationId="xorButton" AutomationProperties.AutomationId="xorButton"
AutomationProperties.Name="{utils:ResourceString Name=xorButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="Xor" ButtonId="Xor"
Click="FlyoutButton_Clicked" Click="FlyoutButton_Clicked"
Command="{x:Bind Model.ButtonPressed}" Command="{x:Bind Model.ButtonPressed}"
@ -338,10 +351,11 @@
</controls:OperatorPanelButton.FlyoutMenu> </controls:OperatorPanelButton.FlyoutMenu>
</controls:OperatorPanelButton> </controls:OperatorPanelButton>
<controls:OperatorPanelButton x:Name="BitShiftButton" <controls:OperatorPanelButton x:Name="BitShiftButton"
x:Uid="bitShiftButton"
Style="{StaticResource OperatorPanelButtonStyle}" Style="{StaticResource OperatorPanelButtonStyle}"
AutomationProperties.AutomationId="bitShiftButton" AutomationProperties.AutomationId="bitShiftButton"
Glyph="&#xE301;"> AutomationProperties.Name="{utils:ResourceString Name=bitShiftButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
Glyph=""
Text="{utils:ResourceString Name=bitShiftButton/Text}">
<controls:OperatorPanelButton.FlyoutMenu> <controls:OperatorPanelButton.FlyoutMenu>
<Flyout x:Name="BitShiftFlyout" <Flyout x:Name="BitShiftFlyout"
Windows10version1809:AreOpenCloseAnimationsEnabled="False" Windows10version1809:AreOpenCloseAnimationsEnabled="False"
@ -350,93 +364,101 @@
Placement="Bottom"> Placement="Bottom">
<StackPanel MaxWidth="192" Padding="12"> <StackPanel MaxWidth="192" Padding="12">
<RadioButton x:Name="ArithmeticShiftButton" <RadioButton x:Name="ArithmeticShiftButton"
x:Uid="arithmeticShiftButton"
AutomationProperties.AutomationId="arithmeticShiftButton" AutomationProperties.AutomationId="arithmeticShiftButton"
Checked="BitshiftFlyout_Checked"/> Checked="BitshiftFlyout_Checked"
Content="{utils:ResourceString Name=arithmeticShiftButton/Content}"/>
<RadioButton x:Name="LogicalShiftButton" <RadioButton x:Name="LogicalShiftButton"
x:Uid="logicalShiftButton"
AutomationProperties.AutomationId="logicalShiftButton" AutomationProperties.AutomationId="logicalShiftButton"
Checked="BitshiftFlyout_Checked"/> Checked="BitshiftFlyout_Checked"
Content="{utils:ResourceString Name=logicalShiftButton/Content}"/>
<RadioButton x:Name="RotateCircularButton" <RadioButton x:Name="RotateCircularButton"
x:Uid="rotateCircularButton"
AutomationProperties.AutomationId="rotateCircularButton" AutomationProperties.AutomationId="rotateCircularButton"
Checked="BitshiftFlyout_Checked"/> Checked="BitshiftFlyout_Checked"
Content="{utils:ResourceString Name=rotateCircularButton/Content}"/>
<RadioButton x:Name="RotateCarryShiftButton" <RadioButton x:Name="RotateCarryShiftButton"
x:Uid="rotateCarryShiftButton"
AutomationProperties.AutomationId="rotateCarryShiftButton" AutomationProperties.AutomationId="rotateCarryShiftButton"
Checked="BitshiftFlyout_Checked"/> Checked="BitshiftFlyout_Checked"
Content="{utils:ResourceString Name=rotateCarryShiftButton/Content}"/>
</StackPanel> </StackPanel>
</Flyout> </Flyout>
</controls:OperatorPanelButton.FlyoutMenu> </controls:OperatorPanelButton.FlyoutMenu>
</controls:OperatorPanelButton> </controls:OperatorPanelButton>
</controls:OperatorPanelListView> </controls:OperatorPanelListView>
<Grid x:Uid="ProgrammerOperators" <Grid Grid.Row="1"
Grid.Row="1"
Grid.Column="2" Grid.Column="2"
Grid.ColumnSpan="2" Grid.ColumnSpan="2"
AutomationProperties.HeadingLevel="Level1"> AutomationProperties.HeadingLevel="Level1"
AutomationProperties.Name="{utils:ResourceString Name=ProgrammerOperators/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition/> <ColumnDefinition/>
<ColumnDefinition/> <ColumnDefinition/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<controls:CalculatorButton x:Name="RolButton" <controls:CalculatorButton x:Name="RolButton"
x:Uid="rolButton"
Grid.Column="0" Grid.Column="0"
Style="{StaticResource SymbolOperatorButtonStyle}" Style="{StaticResource SymbolOperatorButtonStyle}"
FontSize="12" FontSize="12"
common:KeyboardShortcutManager.Character="{utils:ResourceString Name=rolButton/[using:CalculatorApp.Common]KeyboardShortcutManager/Character}"
x:DeferLoadStrategy="Lazy" x:DeferLoadStrategy="Lazy"
AutomationProperties.AutomationId="rolButton" AutomationProperties.AutomationId="rolButton"
AutomationProperties.Name="{utils:ResourceString Name=rolButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="Rol" ButtonId="Rol"
Content="&#xF88E;" Content=""
Visibility="Collapsed"/> Visibility="Collapsed"/>
<controls:CalculatorButton x:Name="RorButton" <controls:CalculatorButton x:Name="RorButton"
x:Uid="rorButton"
Grid.Column="1" Grid.Column="1"
Style="{StaticResource SymbolOperatorButtonStyle}" Style="{StaticResource SymbolOperatorButtonStyle}"
FontSize="12" FontSize="12"
common:KeyboardShortcutManager.Character="{utils:ResourceString Name=rorButton/[using:CalculatorApp.Common]KeyboardShortcutManager/Character}"
x:DeferLoadStrategy="Lazy" x:DeferLoadStrategy="Lazy"
AutomationProperties.AutomationId="rorButton" AutomationProperties.AutomationId="rorButton"
AutomationProperties.Name="{utils:ResourceString Name=rorButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="Ror" ButtonId="Ror"
Content="&#xF88F;" Content=""
Visibility="Collapsed"/> Visibility="Collapsed"/>
<controls:CalculatorButton x:Name="RolCarryButton" <controls:CalculatorButton x:Name="RolCarryButton"
x:Uid="rolCarryButton"
Style="{StaticResource SymbolOperatorButtonStyle}" Style="{StaticResource SymbolOperatorButtonStyle}"
FontSize="12" FontSize="12"
common:KeyboardShortcutManager.Character="{utils:ResourceString Name=rolCarryButton/[using:CalculatorApp.Common]KeyboardShortcutManager/Character}"
x:DeferLoadStrategy="Lazy" x:DeferLoadStrategy="Lazy"
AutomationProperties.AutomationId="rolButton" AutomationProperties.AutomationId="rolButton"
AutomationProperties.Name="{utils:ResourceString Name=rolCarryButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="RolC" ButtonId="RolC"
Content="&#xF88E;" Content=""
Visibility="Collapsed"/> Visibility="Collapsed"/>
<controls:CalculatorButton x:Name="RorCarryButton" <controls:CalculatorButton x:Name="RorCarryButton"
x:Uid="rorCarryButton"
Grid.Column="1" Grid.Column="1"
Style="{StaticResource SymbolOperatorButtonStyle}" Style="{StaticResource SymbolOperatorButtonStyle}"
FontSize="12" FontSize="12"
common:KeyboardShortcutManager.Character="{utils:ResourceString Name=rorCarryButton/[using:CalculatorApp.Common]KeyboardShortcutManager/Character}"
x:DeferLoadStrategy="Lazy" x:DeferLoadStrategy="Lazy"
AutomationProperties.AutomationId="rorCarryButton" AutomationProperties.AutomationId="rorCarryButton"
AutomationProperties.Name="{utils:ResourceString Name=rorCarryButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="RorC" ButtonId="RorC"
Content="&#xF88F;" Content=""
Visibility="Collapsed"/> Visibility="Collapsed"/>
<controls:CalculatorButton x:Name="LshButton" <controls:CalculatorButton x:Name="LshButton"
x:Uid="lshButton"
Style="{StaticResource SymbolOperatorButtonStyle}" Style="{StaticResource SymbolOperatorButtonStyle}"
FontSize="12" FontSize="12"
common:KeyboardShortcutManager.Character="{utils:ResourceString Name=lshButton/[using:CalculatorApp.Common]KeyboardShortcutManager/Character}"
AuditoryFeedback="{utils:ResourceString Name=lshButton/[using:CalculatorApp.Controls]CalculatorButton/AuditoryFeedback}"
AutomationProperties.AutomationId="lshButton" AutomationProperties.AutomationId="lshButton"
AutomationProperties.Name="{utils:ResourceString Name=lshButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="Lsh" ButtonId="Lsh"
Content="&#xF88E;"/> Content=""/>
<controls:CalculatorButton x:Name="RshButton" <controls:CalculatorButton x:Name="RshButton"
x:Uid="rshButton"
Grid.Column="1" Grid.Column="1"
Style="{StaticResource SymbolOperatorButtonStyle}" Style="{StaticResource SymbolOperatorButtonStyle}"
FontSize="12" FontSize="12"
common:KeyboardShortcutManager.Character="{utils:ResourceString Name=rshButton/[using:CalculatorApp.Common]KeyboardShortcutManager/Character}"
AuditoryFeedback="{utils:ResourceString Name=rshButton/[using:CalculatorApp.Controls]CalculatorButton/AuditoryFeedback}"
AutomationProperties.AutomationId="rshButton" AutomationProperties.AutomationId="rshButton"
AutomationProperties.Name="{utils:ResourceString Name=rshButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="Rsh" ButtonId="Rsh"
Content="&#xF88F;"/> Content=""/>
<controls:CalculatorButton x:Name="LshLogicalButton" <controls:CalculatorButton x:Name="LshLogicalButton"
x:Uid="LshLogicalButton" x:Uid="LshLogicalButton"
@ -445,96 +467,105 @@
x:DeferLoadStrategy="Lazy" x:DeferLoadStrategy="Lazy"
AutomationProperties.AutomationId="lshLogicalButton" AutomationProperties.AutomationId="lshLogicalButton"
ButtonId="Lsh" ButtonId="Lsh"
Content="&#xF88E;" Content=""
Visibility="Collapsed"/> Visibility="Collapsed"/>
<controls:CalculatorButton x:Name="RshLogicalButton" <controls:CalculatorButton x:Name="RshLogicalButton"
x:Uid="rshLogicalButton"
Grid.Column="1" Grid.Column="1"
Style="{StaticResource SymbolOperatorButtonStyle}" Style="{StaticResource SymbolOperatorButtonStyle}"
FontSize="12" FontSize="12"
common:KeyboardShortcutManager.Character="{utils:ResourceString Name=rshLogicalButton/[using:CalculatorApp.Common]KeyboardShortcutManager/Character}"
x:DeferLoadStrategy="Lazy" x:DeferLoadStrategy="Lazy"
AuditoryFeedback="{utils:ResourceString Name=rshLogicalButton/[using:CalculatorApp.Controls]CalculatorButton/AuditoryFeedback}"
AutomationProperties.AutomationId="rshLogicalButton" AutomationProperties.AutomationId="rshLogicalButton"
AutomationProperties.Name="{utils:ResourceString Name=rshLogicalButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="RshL" ButtonId="RshL"
Content="&#xF88F;" Content=""
Visibility="Collapsed"/> Visibility="Collapsed"/>
</Grid> </Grid>
<Grid x:Uid="DisplayControls" <Grid Grid.Row="1"
Grid.Row="1"
Grid.Column="4" Grid.Column="4"
Grid.ColumnSpan="2" Grid.ColumnSpan="2"
AutomationProperties.HeadingLevel="Level1"> AutomationProperties.HeadingLevel="Level1"
AutomationProperties.Name="{utils:ResourceString Name=DisplayControls/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition/> <ColumnDefinition/>
<ColumnDefinition/> <ColumnDefinition/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<controls:CalculatorButton x:Name="ClearButton" <controls:CalculatorButton x:Name="ClearButton"
x:Uid="clearButton"
Style="{StaticResource OperatorButtonStyle}" Style="{StaticResource OperatorButtonStyle}"
FontSize="12" FontSize="12"
common:KeyboardShortcutManager.VirtualKey="{utils:ResourceVirtualKey Name=clearButton/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKey}"
AutomationProperties.AutomationId="clearButton" AutomationProperties.AutomationId="clearButton"
AutomationProperties.Name="{utils:ResourceString Name=clearButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="Clear" ButtonId="Clear"
Content="C" Content="C"
LostFocus="ClearButton_LostFocus" LostFocus="ClearButton_LostFocus"
Visibility="{x:Bind Model.IsInputEmpty, Mode=OneWay, Converter={StaticResource BooleanToVisibilityConverter}}"/> Visibility="{x:Bind Model.IsInputEmpty, Mode=OneWay, Converter={StaticResource BooleanToVisibilityConverter}}"/>
<controls:CalculatorButton x:Name="ClearEntryButton" <controls:CalculatorButton x:Name="ClearEntryButton"
x:Uid="clearEntryButton"
Style="{StaticResource OperatorButtonStyle}" Style="{StaticResource OperatorButtonStyle}"
FontSize="12" FontSize="12"
common:KeyboardShortcutManager.VirtualKey="{utils:ResourceVirtualKey Name=clearEntryButton/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKey}"
AutomationProperties.AutomationId="clearEntryButton" AutomationProperties.AutomationId="clearEntryButton"
AutomationProperties.Name="{utils:ResourceString Name=clearEntryButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="ClearEntry" ButtonId="ClearEntry"
Content="CE" Content="CE"
LostFocus="ClearEntryButton_LostFocus" LostFocus="ClearEntryButton_LostFocus"
Visibility="{x:Bind Model.IsInputEmpty, Mode=OneWay, Converter={StaticResource BooleanToVisibilityNegationConverter}}"/> Visibility="{x:Bind Model.IsInputEmpty, Mode=OneWay, Converter={StaticResource BooleanToVisibilityNegationConverter}}"/>
<controls:CalculatorButton x:Name="BackSpaceButton" <controls:CalculatorButton x:Name="BackSpaceButton"
x:Uid="backSpaceButton"
Grid.Column="1" Grid.Column="1"
Style="{StaticResource SymbolOperatorButtonStyle}" Style="{StaticResource SymbolOperatorButtonStyle}"
FontSize="12" FontSize="12"
common:KeyboardShortcutManager.VirtualKey="{utils:ResourceVirtualKey Name=backSpaceButton/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKey}"
AutomationProperties.AutomationId="backSpaceButton" AutomationProperties.AutomationId="backSpaceButton"
AutomationProperties.Name="{utils:ResourceString Name=backSpaceButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="Backspace" ButtonId="Backspace"
Content="&#xE94F;"/> Content=""/>
</Grid> </Grid>
<controls:CalculatorButton x:Name="OpenParenthesisButton" <controls:CalculatorButton x:Name="OpenParenthesisButton"
x:Uid="openParenthesisButton"
Grid.Row="2" Grid.Row="2"
Grid.Column="2" Grid.Column="2"
Style="{StaticResource ParenthesisCalcButtonStyle}" Style="{StaticResource ParenthesisCalcButtonStyle}"
FontSize="18" FontSize="18"
common:KeyboardShortcutManager.Character="{utils:ResourceString Name=openParenthesisButton/[using:CalculatorApp.Common]KeyboardShortcutManager/Character}"
AutomationProperties.AutomationId="openParenthesisButton" AutomationProperties.AutomationId="openParenthesisButton"
AutomationProperties.Name="{utils:ResourceString Name=openParenthesisButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="OpenParenthesis" ButtonId="OpenParenthesis"
Content="(" Content="("
GotFocus="OpenParenthesisButton_GotFocus" GotFocus="OpenParenthesisButton_GotFocus"
Tag="{x:Bind ParenthesisCountToString(Model.OpenParenthesisCount), Mode=OneWay}"/> Tag="{x:Bind ParenthesisCountToString(Model.OpenParenthesisCount), Mode=OneWay}"/>
<controls:CalculatorButton x:Name="CloseParenthesisButton" <controls:CalculatorButton x:Name="CloseParenthesisButton"
x:Uid="closeParenthesisButton"
Grid.Row="2" Grid.Row="2"
Grid.Column="3" Grid.Column="3"
Style="{StaticResource OperatorButtonStyle}" Style="{StaticResource OperatorButtonStyle}"
FontSize="18" FontSize="18"
common:KeyboardShortcutManager.Character="{utils:ResourceString Name=closeParenthesisButton/[using:CalculatorApp.Common]KeyboardShortcutManager/Character}"
AutomationProperties.AutomationId="closeParenthesisButton" AutomationProperties.AutomationId="closeParenthesisButton"
AutomationProperties.Name="{utils:ResourceString Name=closeParenthesisButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="CloseParenthesis" ButtonId="CloseParenthesis"
Content=")"/> Content=")"/>
<controls:CalculatorButton x:Name="ModButton" <controls:CalculatorButton x:Name="ModButton"
x:Uid="modButton"
Grid.Row="2" Grid.Row="2"
Grid.Column="4" Grid.Column="4"
Style="{StaticResource OperatorButtonStyle}" Style="{StaticResource OperatorButtonStyle}"
FontSize="12" FontSize="12"
common:KeyboardShortcutManager.Character="{utils:ResourceString Name=modButton/[using:CalculatorApp.Common]KeyboardShortcutManager/Character}"
AuditoryFeedback="{utils:ResourceString Name=modButton/[using:CalculatorApp.Controls]CalculatorButton/AuditoryFeedback}"
AutomationProperties.AutomationId="modButton" AutomationProperties.AutomationId="modButton"
AutomationProperties.Name="{utils:ResourceString Name=modButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="Mod" ButtonId="Mod"
Content="%"/> Content="%"/>
<Grid x:Uid="StandardOperators" <Grid Grid.Row="2"
Grid.Row="2"
Grid.RowSpan="5" Grid.RowSpan="5"
Grid.Column="5" Grid.Column="5"
AutomationProperties.HeadingLevel="Level1"> AutomationProperties.HeadingLevel="Level1"
AutomationProperties.Name="{utils:ResourceString Name=StandardOperators/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}">
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition/> <RowDefinition/>
<RowDefinition/> <RowDefinition/>
@ -543,58 +574,68 @@
<RowDefinition/> <RowDefinition/>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<controls:CalculatorButton x:Name="DivideButton" <controls:CalculatorButton x:Name="DivideButton"
x:Uid="divideButton"
Grid.Row="0" Grid.Row="0"
Style="{StaticResource SymbolOperatorButtonStyle}" Style="{StaticResource SymbolOperatorButtonStyle}"
FontSize="12" FontSize="12"
common:KeyboardShortcutManager.Character="{utils:ResourceString Name=divideButton/[using:CalculatorApp.Common]KeyboardShortcutManager/Character}"
AuditoryFeedback="{utils:ResourceString Name=divideButton/[using:CalculatorApp.Controls]CalculatorButton/AuditoryFeedback}"
AutomationProperties.AutomationId="divideButton" AutomationProperties.AutomationId="divideButton"
AutomationProperties.Name="{utils:ResourceString Name=divideButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="Divide" ButtonId="Divide"
Content="&#xE94A;"/> Content=""/>
<controls:CalculatorButton x:Name="MultiplyButton" <controls:CalculatorButton x:Name="MultiplyButton"
x:Uid="multiplyButton"
Grid.Row="1" Grid.Row="1"
Style="{StaticResource SymbolOperatorButtonStyle}" Style="{StaticResource SymbolOperatorButtonStyle}"
FontSize="12" FontSize="12"
common:KeyboardShortcutManager.Character="{utils:ResourceString Name=multiplyButton/[using:CalculatorApp.Common]KeyboardShortcutManager/Character}"
AuditoryFeedback="{utils:ResourceString Name=multiplyButton/[using:CalculatorApp.Controls]CalculatorButton/AuditoryFeedback}"
AutomationProperties.AutomationId="multiplyButton" AutomationProperties.AutomationId="multiplyButton"
AutomationProperties.Name="{utils:ResourceString Name=multiplyButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="Multiply" ButtonId="Multiply"
Content="&#xE947;"/> Content=""/>
<controls:CalculatorButton x:Name="MinusButton" <controls:CalculatorButton x:Name="MinusButton"
x:Uid="minusButton"
Grid.Row="2" Grid.Row="2"
Style="{StaticResource SymbolOperatorButtonStyle}" Style="{StaticResource SymbolOperatorButtonStyle}"
FontSize="12" FontSize="12"
common:KeyboardShortcutManager.Character="{utils:ResourceString Name=minusButton/[using:CalculatorApp.Common]KeyboardShortcutManager/Character}"
AuditoryFeedback="{utils:ResourceString Name=minusButton/[using:CalculatorApp.Controls]CalculatorButton/AuditoryFeedback}"
AutomationProperties.AutomationId="minusButton" AutomationProperties.AutomationId="minusButton"
AutomationProperties.Name="{utils:ResourceString Name=minusButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="Subtract" ButtonId="Subtract"
Content="&#xE949;"/> Content=""/>
<controls:CalculatorButton x:Name="PlusButton" <controls:CalculatorButton x:Name="PlusButton"
x:Uid="plusButton"
Grid.Row="3" Grid.Row="3"
Style="{StaticResource SymbolOperatorButtonStyle}" Style="{StaticResource SymbolOperatorButtonStyle}"
FontSize="12" FontSize="12"
common:KeyboardShortcutManager.Character="{utils:ResourceString Name=plusButton/[using:CalculatorApp.Common]KeyboardShortcutManager/Character}"
AuditoryFeedback="{utils:ResourceString Name=plusButton/[using:CalculatorApp.Controls]CalculatorButton/AuditoryFeedback}"
AutomationProperties.AutomationId="plusButton" AutomationProperties.AutomationId="plusButton"
AutomationProperties.Name="{utils:ResourceString Name=plusButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="Add" ButtonId="Add"
Content="&#xE948;"/> Content=""/>
<controls:CalculatorButton x:Name="EqualButton" <controls:CalculatorButton x:Name="EqualButton"
x:Uid="equalButton"
Grid.Row="4" Grid.Row="4"
Style="{StaticResource AccentEmphasizedCalcButtonStyle}" Style="{StaticResource AccentEmphasizedCalcButtonStyle}"
FontSize="12" FontSize="12"
common:KeyboardShortcutManager.Character="{utils:ResourceString Name=equalButton/[using:CalculatorApp.Common]KeyboardShortcutManager/Character}"
common:KeyboardShortcutManager.VirtualKey="{utils:ResourceVirtualKey Name=equalButton/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKey}"
AutomationProperties.AutomationId="equalButton" AutomationProperties.AutomationId="equalButton"
AutomationProperties.Name="{utils:ResourceString Name=equalButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="Equals" ButtonId="Equals"
Content="&#xE94E;"/> Content=""/>
</Grid> </Grid>
<Grid x:Uid="NumberPad" <Grid Grid.Row="1"
Grid.Row="1"
Grid.RowSpan="6" Grid.RowSpan="6"
Grid.Column="1" Grid.Column="1"
Grid.ColumnSpan="5" Grid.ColumnSpan="5"
AutomationProperties.AutomationId="NumberPad" AutomationProperties.AutomationId="NumberPad"
AutomationProperties.HeadingLevel="Level1"> AutomationProperties.HeadingLevel="Level1"
AutomationProperties.Name="{utils:ResourceString Name=NumberPad/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}">
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition/> <RowDefinition/>
<RowDefinition/> <RowDefinition/>
@ -611,61 +652,73 @@
<ColumnDefinition/> <ColumnDefinition/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<controls:CalculatorButton x:Name="AButton" <controls:CalculatorButton x:Name="AButton"
x:Uid="aButton"
Grid.Row="0" Grid.Row="0"
Grid.Column="0" Grid.Column="0"
Style="{StaticResource NumericButtonStyle12}" Style="{StaticResource NumericButtonStyle12}"
common:KeyboardShortcutManager.VirtualKey="{utils:ResourceVirtualKey Name=aButton/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKey}"
common:KeyboardShortcutManager.VirtualKeyShiftChord="{utils:ResourceVirtualKey Name=aButton/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKeyShiftChord}"
AutomationProperties.AutomationId="aButton" AutomationProperties.AutomationId="aButton"
AutomationProperties.Name="{utils:ResourceString Name=aButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="A" ButtonId="A"
Content="A" Content="A"
IsEnabled="{x:Bind Model.AreHEXButtonsEnabled, Mode=OneWay}"/> IsEnabled="{x:Bind Model.AreHEXButtonsEnabled, Mode=OneWay}"/>
<controls:CalculatorButton x:Name="BButton" <controls:CalculatorButton x:Name="BButton"
x:Uid="bButton"
Grid.Row="1" Grid.Row="1"
Grid.Column="0" Grid.Column="0"
Style="{StaticResource NumericButtonStyle12}" Style="{StaticResource NumericButtonStyle12}"
common:KeyboardShortcutManager.VirtualKey="{utils:ResourceVirtualKey Name=bButton/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKey}"
common:KeyboardShortcutManager.VirtualKeyShiftChord="{utils:ResourceVirtualKey Name=bButton/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKeyShiftChord}"
AutomationProperties.AutomationId="bButton" AutomationProperties.AutomationId="bButton"
AutomationProperties.Name="{utils:ResourceString Name=bButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="B" ButtonId="B"
Content="B" Content="B"
IsEnabled="{x:Bind Model.AreHEXButtonsEnabled, Mode=OneWay}"/> IsEnabled="{x:Bind Model.AreHEXButtonsEnabled, Mode=OneWay}"/>
<controls:CalculatorButton x:Name="CButton" <controls:CalculatorButton x:Name="CButton"
x:Uid="cButton"
Grid.Row="2" Grid.Row="2"
Grid.Column="0" Grid.Column="0"
Style="{StaticResource NumericButtonStyle12}" Style="{StaticResource NumericButtonStyle12}"
common:KeyboardShortcutManager.VirtualKey="{utils:ResourceVirtualKey Name=cButton/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKey}"
common:KeyboardShortcutManager.VirtualKeyShiftChord="{utils:ResourceVirtualKey Name=cButton/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKeyShiftChord}"
AutomationProperties.AutomationId="cButton" AutomationProperties.AutomationId="cButton"
AutomationProperties.Name="{utils:ResourceString Name=cButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="C" ButtonId="C"
Content="C" Content="C"
IsEnabled="{x:Bind Model.AreHEXButtonsEnabled, Mode=OneWay}"/> IsEnabled="{x:Bind Model.AreHEXButtonsEnabled, Mode=OneWay}"/>
<controls:CalculatorButton x:Name="DButton" <controls:CalculatorButton x:Name="DButton"
x:Uid="dButton"
Grid.Row="3" Grid.Row="3"
Grid.Column="0" Grid.Column="0"
Style="{StaticResource NumericButtonStyle12}" Style="{StaticResource NumericButtonStyle12}"
common:KeyboardShortcutManager.VirtualKey="{utils:ResourceVirtualKey Name=dButton/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKey}"
common:KeyboardShortcutManager.VirtualKeyShiftChord="{utils:ResourceVirtualKey Name=dButton/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKeyShiftChord}"
AutomationProperties.AutomationId="dButton" AutomationProperties.AutomationId="dButton"
AutomationProperties.Name="{utils:ResourceString Name=dButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="D" ButtonId="D"
Content="D" Content="D"
IsEnabled="{x:Bind Model.AreHEXButtonsEnabled, Mode=OneWay}"/> IsEnabled="{x:Bind Model.AreHEXButtonsEnabled, Mode=OneWay}"/>
<controls:CalculatorButton x:Name="EButton" <controls:CalculatorButton x:Name="EButton"
x:Uid="eButton"
Grid.Row="4" Grid.Row="4"
Grid.Column="0" Grid.Column="0"
Style="{StaticResource NumericButtonStyle12}" Style="{StaticResource NumericButtonStyle12}"
common:KeyboardShortcutManager.VirtualKey="{utils:ResourceVirtualKey Name=eButton/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKey}"
common:KeyboardShortcutManager.VirtualKeyShiftChord="{utils:ResourceVirtualKey Name=eButton/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKeyShiftChord}"
AutomationProperties.AutomationId="eButton" AutomationProperties.AutomationId="eButton"
AutomationProperties.Name="{utils:ResourceString Name=eButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="E" ButtonId="E"
Content="E" Content="E"
IsEnabled="{x:Bind Model.AreHEXButtonsEnabled, Mode=OneWay}"/> IsEnabled="{x:Bind Model.AreHEXButtonsEnabled, Mode=OneWay}"/>
<controls:CalculatorButton x:Name="FButton" <controls:CalculatorButton x:Name="FButton"
x:Uid="fButton"
Grid.Row="5" Grid.Row="5"
Grid.Column="0" Grid.Column="0"
Style="{StaticResource NumericButtonStyle12}" Style="{StaticResource NumericButtonStyle12}"
common:KeyboardShortcutManager.VirtualKey="{utils:ResourceVirtualKey Name=fButton/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKey}"
common:KeyboardShortcutManager.VirtualKeyShiftChord="{utils:ResourceVirtualKey Name=fButton/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKeyShiftChord}"
AutomationProperties.AutomationId="fButton" AutomationProperties.AutomationId="fButton"
AutomationProperties.Name="{utils:ResourceString Name=fButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="F" ButtonId="F"
Content="F" Content="F"
IsEnabled="{x:Bind Model.AreHEXButtonsEnabled, Mode=OneWay}"/> IsEnabled="{x:Bind Model.AreHEXButtonsEnabled, Mode=OneWay}"/>
@ -680,14 +733,15 @@
</Grid> </Grid>
<controls:CalculatorButton x:Name="NegateButton" <controls:CalculatorButton x:Name="NegateButton"
x:Uid="negateButton"
Grid.Row="6" Grid.Row="6"
Grid.Column="2" Grid.Column="2"
Style="{StaticResource SymbolOperatorKeypadButtonStyle}" Style="{StaticResource SymbolOperatorKeypadButtonStyle}"
FontSize="12" FontSize="12"
FontWeight="Normal" FontWeight="Normal"
common:KeyboardShortcutManager.VirtualKey="{utils:ResourceVirtualKey Name=negateButton/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKey}"
AutomationProperties.AutomationId="negateButton" AutomationProperties.AutomationId="negateButton"
AutomationProperties.Name="{utils:ResourceString Name=negateButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="Negate" ButtonId="Negate"
Content="&#xF898;"/> Content=""/>
</Grid> </Grid>
</UserControl> </UserControl>

View file

@ -2,9 +2,11 @@
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Controls="using:CalculatorApp.Controls" xmlns:Controls="using:CalculatorApp.Controls"
xmlns:common="using:CalculatorApp.Common"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="using:CalculatorApp.ViewModel.Common" xmlns:local="using:CalculatorApp.ViewModel.Common"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:utils="using:CalculatorApp.Utils"
x:Name="ControlRoot" x:Name="ControlRoot"
d:DesignHeight="315" d:DesignHeight="315"
d:DesignWidth="400" d:DesignWidth="400"
@ -26,9 +28,9 @@
</UserControl.Resources> </UserControl.Resources>
<Grid x:Name="ScientificAngleOperators" <Grid x:Name="ScientificAngleOperators"
x:Uid="ScientificAngleOperators"
Margin="3,0,3,0" Margin="3,0,3,0"
AutomationProperties.HeadingLevel="Level1"> AutomationProperties.HeadingLevel="Level1"
AutomationProperties.Name="{utils:ResourceString Name=ScientificAngleOperators/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="1*" MaxWidth="80"/> <ColumnDefinition Width="1*" MaxWidth="80"/>
<ColumnDefinition Width="1*" MaxWidth="80"/> <ColumnDefinition Width="1*" MaxWidth="80"/>
@ -71,34 +73,38 @@
</VisualStateGroup> </VisualStateGroup>
</VisualStateManager.VisualStateGroups> </VisualStateManager.VisualStateGroups>
<Button x:Name="DegreeButton" <Button x:Name="DegreeButton"
x:Uid="degButton"
Style="{StaticResource CaptionButtonSmallStyle}" Style="{StaticResource CaptionButtonSmallStyle}"
common:KeyboardShortcutManager.VirtualKey="{utils:ResourceVirtualKey Name=degButton/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKey}"
AutomationProperties.AutomationId="degButton" AutomationProperties.AutomationId="degButton"
AutomationProperties.Name="{utils:ResourceString Name=degButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
Command="{x:Bind ButtonPressed}" Command="{x:Bind ButtonPressed}"
CommandParameter="0" CommandParameter="0"
Content="DEG"/> Content="DEG"/>
<Button x:Name="RadianButton" <Button x:Name="RadianButton"
x:Uid="radButton"
Style="{StaticResource CaptionButtonSmallStyle}" Style="{StaticResource CaptionButtonSmallStyle}"
common:KeyboardShortcutManager.VirtualKey="{utils:ResourceVirtualKey Name=radButton/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKey}"
AutomationProperties.AutomationId="radButton" AutomationProperties.AutomationId="radButton"
AutomationProperties.Name="{utils:ResourceString Name=radButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
Command="{x:Bind ButtonPressed}" Command="{x:Bind ButtonPressed}"
CommandParameter="1" CommandParameter="1"
Content="RAD" Content="RAD"
Visibility="Collapsed"/> Visibility="Collapsed"/>
<Button x:Name="GradsButton" <Button x:Name="GradsButton"
x:Uid="gradButton"
Style="{StaticResource CaptionButtonSmallStyle}" Style="{StaticResource CaptionButtonSmallStyle}"
common:KeyboardShortcutManager.VirtualKey="{utils:ResourceVirtualKey Name=gradButton/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKey}"
AutomationProperties.AutomationId="gradButton" AutomationProperties.AutomationId="gradButton"
AutomationProperties.Name="{utils:ResourceString Name=gradButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
Command="{x:Bind ButtonPressed}" Command="{x:Bind ButtonPressed}"
CommandParameter="2" CommandParameter="2"
Content="GRAD" Content="GRAD"
Visibility="Collapsed"/> Visibility="Collapsed"/>
<ToggleButton x:Name="FtoeButton" <ToggleButton x:Name="FtoeButton"
x:Uid="ftoeButton"
Grid.Column="1" Grid.Column="1"
Style="{StaticResource CaptionToggleButtonWithIndicatorStyle}" Style="{StaticResource CaptionToggleButtonWithIndicatorStyle}"
Background="{ThemeResource SystemControlBackgroundTransparentBrush}" Background="{ThemeResource SystemControlBackgroundTransparentBrush}"
common:KeyboardShortcutManager.VirtualKey="{utils:ResourceVirtualKey Name=ftoeButton/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKey}"
AutomationProperties.AutomationId="ftoeButton" AutomationProperties.AutomationId="ftoeButton"
AutomationProperties.Name="{utils:ResourceString Name=ftoeButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
Checked="FToEButton_Toggled" Checked="FToEButton_Toggled"
Content="F-E" Content="F-E"
IsChecked="{x:Bind Model.IsFToEChecked, Mode=OneWay}" IsChecked="{x:Bind Model.IsFToEChecked, Mode=OneWay}"

File diff suppressed because it is too large Load diff

View file

@ -7,6 +7,7 @@
xmlns:local="using:CalculatorApp" xmlns:local="using:CalculatorApp"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:triggers="using:CalculatorApp.Views.StateTriggers" xmlns:triggers="using:CalculatorApp.Views.StateTriggers"
xmlns:utils="using:CalculatorApp.Utils"
x:Name="ControlRoot" x:Name="ControlRoot"
XYFocusKeyboardNavigation="Enabled" XYFocusKeyboardNavigation="Enabled"
mc:Ignorable="d"> mc:Ignorable="d">
@ -170,11 +171,11 @@
</VisualStateManager.VisualStateGroups> </VisualStateManager.VisualStateGroups>
<Grid x:Name="DisplayControls" <Grid x:Name="DisplayControls"
x:Uid="DisplayControls"
Grid.Row="0" Grid.Row="0"
Grid.Column="2" Grid.Column="2"
Grid.ColumnSpan="4" Grid.ColumnSpan="4"
AutomationProperties.HeadingLevel="Level1"> AutomationProperties.HeadingLevel="Level1"
AutomationProperties.Name="{utils:ResourceString Name=DisplayControls/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition x:Name="PercentColumn"/> <ColumnDefinition x:Name="PercentColumn"/>
<ColumnDefinition/> <ColumnDefinition/>
@ -182,44 +183,48 @@
<ColumnDefinition/> <ColumnDefinition/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<controls:CalculatorButton x:Name="PercentButton" <controls:CalculatorButton x:Name="PercentButton"
x:Uid="percentButton"
Grid.Column="0" Grid.Column="0"
Style="{StaticResource SymbolOperatorButtonStyle}" Style="{StaticResource SymbolOperatorButtonStyle}"
common:KeyboardShortcutManager.Character="{utils:ResourceString Name=percentButton/[using:CalculatorApp.Common]KeyboardShortcutManager/Character}"
AutomationProperties.AutomationId="percentButton" AutomationProperties.AutomationId="percentButton"
AutomationProperties.Name="{utils:ResourceString Name=percentButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="Percent" ButtonId="Percent"
Content="&#xE94C;"/> Content=""/>
<controls:CalculatorButton x:Name="ClearEntryButton" <controls:CalculatorButton x:Name="ClearEntryButton"
x:Uid="clearEntryButton"
Grid.Column="1" Grid.Column="1"
Style="{StaticResource OperatorButtonStyle}" Style="{StaticResource OperatorButtonStyle}"
FontSize="16" FontSize="16"
common:KeyboardShortcutManager.VirtualKey="{utils:ResourceVirtualKey Name=clearEntryButton/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKey}"
AutomationProperties.AutomationId="clearEntryButton" AutomationProperties.AutomationId="clearEntryButton"
AutomationProperties.Name="{utils:ResourceString Name=clearEntryButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="ClearEntry" ButtonId="ClearEntry"
Content="CE"/> Content="CE"/>
<controls:CalculatorButton x:Name="ClearButton" <controls:CalculatorButton x:Name="ClearButton"
x:Uid="clearButton"
Grid.Column="2" Grid.Column="2"
Style="{StaticResource OperatorButtonStyle}" Style="{StaticResource OperatorButtonStyle}"
FontSize="16" FontSize="16"
common:KeyboardShortcutManager.VirtualKey="{utils:ResourceVirtualKey Name=clearButton/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKey}"
AutomationProperties.AutomationId="clearButton" AutomationProperties.AutomationId="clearButton"
AutomationProperties.Name="{utils:ResourceString Name=clearButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="Clear" ButtonId="Clear"
Content="C"/> Content="C"/>
<controls:CalculatorButton x:Name="BackSpaceButton" <controls:CalculatorButton x:Name="BackSpaceButton"
x:Uid="backSpaceButton"
Grid.Column="3" Grid.Column="3"
Style="{StaticResource SymbolOperatorButtonStyle}" Style="{StaticResource SymbolOperatorButtonStyle}"
FontSize="16" FontSize="16"
common:KeyboardShortcutManager.VirtualKey="{utils:ResourceVirtualKey Name=backSpaceButton/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKey}"
AutomationProperties.AutomationId="backSpaceButton" AutomationProperties.AutomationId="backSpaceButton"
AutomationProperties.Name="{utils:ResourceString Name=backSpaceButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="Backspace" ButtonId="Backspace"
Content="&#xE94F;"/> Content=""/>
</Grid> </Grid>
<Grid x:Name="StandardFunctions" <Grid x:Name="StandardFunctions"
x:Uid="StandardFunctions"
Grid.Row="1" Grid.Row="1"
Grid.Column="2" Grid.Column="2"
Grid.ColumnSpan="4" Grid.ColumnSpan="4"
AutomationProperties.HeadingLevel="Level1"> AutomationProperties.HeadingLevel="Level1"
AutomationProperties.Name="{utils:ResourceString Name=StandardFunctions/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}">
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="1*"/> <RowDefinition Height="1*"/>
<RowDefinition x:Name="FnR1" Height="0"/> <RowDefinition x:Name="FnR1" Height="0"/>
@ -234,35 +239,38 @@
<ColumnDefinition x:Name="FnC3" Width="1*"/> <ColumnDefinition x:Name="FnC3" Width="1*"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<controls:CalculatorButton x:Name="InvertButton" <controls:CalculatorButton x:Name="InvertButton"
x:Uid="invertButton"
Style="{StaticResource SymbolOperatorButtonStyle}" Style="{StaticResource SymbolOperatorButtonStyle}"
FontSize="18" FontSize="18"
common:KeyboardShortcutManager.VirtualKey="{utils:ResourceVirtualKey Name=invertButton/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKey}"
AutomationProperties.AutomationId="invertButton" AutomationProperties.AutomationId="invertButton"
AutomationProperties.Name="{utils:ResourceString Name=invertButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="Invert" ButtonId="Invert"
Content="&#xf7c9;"/> Content=""/>
<controls:CalculatorButton x:Name="XPower2Button" <controls:CalculatorButton x:Name="XPower2Button"
x:Uid="xpower2Button"
Grid.Column="1" Grid.Column="1"
Style="{StaticResource SymbolOperatorButtonStyle}" Style="{StaticResource SymbolOperatorButtonStyle}"
FontSize="18" FontSize="18"
common:KeyboardShortcutManager.VirtualKey="{utils:ResourceVirtualKey Name=xpower2Button/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKey}"
AutomationProperties.AutomationId="xpower2Button" AutomationProperties.AutomationId="xpower2Button"
AutomationProperties.Name="{utils:ResourceString Name=xpower2Button/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="XPower2" ButtonId="XPower2"
Content="&#xf7c8;"/> Content=""/>
<controls:CalculatorButton x:Name="SquareRootButton" <controls:CalculatorButton x:Name="SquareRootButton"
x:Uid="squareRootButton"
Grid.Column="2" Grid.Column="2"
Style="{StaticResource SymbolOperatorButtonStyle}" Style="{StaticResource SymbolOperatorButtonStyle}"
common:KeyboardShortcutManager.Character="{utils:ResourceString Name=squareRootButton/[using:CalculatorApp.Common]KeyboardShortcutManager/Character}"
AutomationProperties.AutomationId="squareRootButton" AutomationProperties.AutomationId="squareRootButton"
AutomationProperties.Name="{utils:ResourceString Name=squareRootButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="Sqrt" ButtonId="Sqrt"
Content="&#xF899;"/> Content=""/>
</Grid> </Grid>
<Grid x:Name="StandardOperators" <Grid x:Name="StandardOperators"
x:Uid="StandardOperators"
Grid.Row="1" Grid.Row="1"
Grid.RowSpan="5" Grid.RowSpan="5"
Grid.Column="5" Grid.Column="5"
AutomationProperties.HeadingLevel="Level1"> AutomationProperties.HeadingLevel="Level1"
AutomationProperties.Name="{utils:ResourceString Name=StandardOperators/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}">
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition/> <RowDefinition/>
<RowDefinition/> <RowDefinition/>
@ -271,59 +279,70 @@
<RowDefinition/> <RowDefinition/>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<controls:CalculatorButton x:Name="DivideButton" <controls:CalculatorButton x:Name="DivideButton"
x:Uid="divideButton"
Grid.Row="0" Grid.Row="0"
Style="{StaticResource SymbolOperatorButtonStyle}" Style="{StaticResource SymbolOperatorButtonStyle}"
common:KeyboardShortcutManager.Character="{utils:ResourceString Name=divideButton/[using:CalculatorApp.Common]KeyboardShortcutManager/Character}"
AuditoryFeedback="{utils:ResourceString Name=divideButton/[using:CalculatorApp.Controls]CalculatorButton/AuditoryFeedback}"
AutomationProperties.AutomationId="divideButton" AutomationProperties.AutomationId="divideButton"
AutomationProperties.Name="{utils:ResourceString Name=divideButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="Divide" ButtonId="Divide"
Content="&#xE94A;"/> Content=""/>
<controls:CalculatorButton x:Name="MultiplyButton" <controls:CalculatorButton x:Name="MultiplyButton"
x:Uid="multiplyButton"
Grid.Row="1" Grid.Row="1"
Style="{StaticResource SymbolOperatorButtonStyle}" Style="{StaticResource SymbolOperatorButtonStyle}"
common:KeyboardShortcutManager.Character="{utils:ResourceString Name=multiplyButton/[using:CalculatorApp.Common]KeyboardShortcutManager/Character}"
AuditoryFeedback="{utils:ResourceString Name=multiplyButton/[using:CalculatorApp.Controls]CalculatorButton/AuditoryFeedback}"
AutomationProperties.AutomationId="multiplyButton" AutomationProperties.AutomationId="multiplyButton"
AutomationProperties.Name="{utils:ResourceString Name=multiplyButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="Multiply" ButtonId="Multiply"
Content="&#xE947;"/> Content=""/>
<controls:CalculatorButton x:Name="MinusButton" <controls:CalculatorButton x:Name="MinusButton"
x:Uid="minusButton"
Grid.Row="2" Grid.Row="2"
Style="{StaticResource SymbolOperatorButtonStyle}" Style="{StaticResource SymbolOperatorButtonStyle}"
common:KeyboardShortcutManager.Character="{utils:ResourceString Name=minusButton/[using:CalculatorApp.Common]KeyboardShortcutManager/Character}"
AuditoryFeedback="{utils:ResourceString Name=minusButton/[using:CalculatorApp.Controls]CalculatorButton/AuditoryFeedback}"
AutomationProperties.AutomationId="minusButton" AutomationProperties.AutomationId="minusButton"
AutomationProperties.Name="{utils:ResourceString Name=minusButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="Subtract" ButtonId="Subtract"
Content="&#xE949;"/> Content=""/>
<controls:CalculatorButton x:Name="PlusButton" <controls:CalculatorButton x:Name="PlusButton"
x:Uid="plusButton"
Grid.Row="3" Grid.Row="3"
Style="{StaticResource SymbolOperatorButtonStyle}" Style="{StaticResource SymbolOperatorButtonStyle}"
common:KeyboardShortcutManager.Character="{utils:ResourceString Name=plusButton/[using:CalculatorApp.Common]KeyboardShortcutManager/Character}"
AuditoryFeedback="{utils:ResourceString Name=plusButton/[using:CalculatorApp.Controls]CalculatorButton/AuditoryFeedback}"
AutomationProperties.AutomationId="plusButton" AutomationProperties.AutomationId="plusButton"
AutomationProperties.Name="{utils:ResourceString Name=plusButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="Add" ButtonId="Add"
Content="&#xE948;"/> Content=""/>
<controls:CalculatorButton x:Name="EqualButton" <controls:CalculatorButton x:Name="EqualButton"
x:Uid="equalButton"
Grid.Row="4" Grid.Row="4"
Style="{StaticResource AccentEmphasizedCalcButtonStyle}" Style="{StaticResource AccentEmphasizedCalcButtonStyle}"
common:KeyboardShortcutManager.Character="{utils:ResourceString Name=equalButton/[using:CalculatorApp.Common]KeyboardShortcutManager/Character}"
common:KeyboardShortcutManager.VirtualKey="{utils:ResourceVirtualKey Name=equalButton/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKey}"
AutomationProperties.AutomationId="equalButton" AutomationProperties.AutomationId="equalButton"
AutomationProperties.Name="{utils:ResourceString Name=equalButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="Equals" ButtonId="Equals"
Content="&#xE94E;"/> Content=""/>
</Grid> </Grid>
<local:NumberPad x:Name="NumberPad" <local:NumberPad x:Name="NumberPad"
x:Uid="NumberPad"
Grid.Row="2" Grid.Row="2"
Grid.RowSpan="4" Grid.RowSpan="4"
Grid.Column="2" Grid.Column="2"
Grid.ColumnSpan="3" Grid.ColumnSpan="3"
AutomationProperties.HeadingLevel="Level1" AutomationProperties.HeadingLevel="Level1"
AutomationProperties.Name="{utils:ResourceString Name=NumberPad/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonStyle="{StaticResource NumericButtonStyle24}"/> ButtonStyle="{StaticResource NumericButtonStyle24}"/>
<controls:CalculatorButton x:Name="NegateButton" <controls:CalculatorButton x:Name="NegateButton"
x:Uid="negateButton"
Grid.Row="5" Grid.Row="5"
Grid.Column="2" Grid.Column="2"
Style="{StaticResource SymbolOperatorKeypadButtonStyle}" Style="{StaticResource SymbolOperatorKeypadButtonStyle}"
FontWeight="Normal" FontWeight="Normal"
common:KeyboardShortcutManager.VirtualKey="{utils:ResourceVirtualKey Name=negateButton/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKey}"
AutomationProperties.AutomationId="negateButton" AutomationProperties.AutomationId="negateButton"
AutomationProperties.Name="{utils:ResourceString Name=negateButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="Negate" ButtonId="Negate"
Content="&#xF898;"/> Content=""/>
</Grid> </Grid>
</UserControl> </UserControl>

View file

@ -12,6 +12,7 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="using:CalculatorApp" xmlns:local="using:CalculatorApp"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:utils="using:CalculatorApp.Utils"
d:DesignHeight="300" d:DesignHeight="300"
d:DesignWidth="400" d:DesignWidth="400"
Loaded="OnLoaded" Loaded="OnLoaded"
@ -310,7 +311,7 @@
Foreground="{ThemeResource TextFillColorPrimaryBrush}" Foreground="{ThemeResource TextFillColorPrimaryBrush}"
FontFamily="{ThemeResource CalculatorFontFamily}" FontFamily="{ThemeResource CalculatorFontFamily}"
FontSize="16" FontSize="16"
Glyph="&#xE787;"/> Glyph=""/>
<contract7Present:ContentPresenter x:Name="DescriptionPresenter" <contract7Present:ContentPresenter x:Name="DescriptionPresenter"
Grid.Row="2" Grid.Row="2"
Grid.Column="1" Grid.Column="1"
@ -821,7 +822,7 @@
FontSize="8" FontSize="8"
contract7Present:BackgroundSizing="InnerBorderEdge" contract7Present:BackgroundSizing="InnerBorderEdge"
contract7Present:CornerRadius="{StaticResource ControlCornerRadius}" contract7Present:CornerRadius="{StaticResource ControlCornerRadius}"
Content="&#xEDDB;" Content=""
IsTabStop="True" IsTabStop="True"
IsEnabled="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.HasMoreContentBefore}"/> IsEnabled="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.HasMoreContentBefore}"/>
<Button x:Name="NextButton" <Button x:Name="NextButton"
@ -833,7 +834,7 @@
FontSize="8" FontSize="8"
contract7Present:BackgroundSizing="InnerBorderEdge" contract7Present:BackgroundSizing="InnerBorderEdge"
contract7Present:CornerRadius="{StaticResource ControlCornerRadius}" contract7Present:CornerRadius="{StaticResource ControlCornerRadius}"
Content="&#xEDDC;" Content=""
IsTabStop="True" IsTabStop="True"
IsEnabled="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.HasMoreContentAfter}"/> IsEnabled="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.HasMoreContentAfter}"/>
</Grid> </Grid>
@ -1001,11 +1002,11 @@
<!-- ComboBox for Date Calculation options --> <!-- ComboBox for Date Calculation options -->
<ComboBox x:Name="DateCalculationOption" <ComboBox x:Name="DateCalculationOption"
x:Uid="DateCalculationOption"
Grid.Row="1" Grid.Row="1"
Margin="-12,0,0,0" Margin="-12,0,0,0"
Background="{ThemeResource SubtleFillColorTransparentBrush}" Background="{ThemeResource SubtleFillColorTransparentBrush}"
BorderThickness="{ThemeResource ControlBorderThemeThickness}" BorderThickness="{ThemeResource ControlBorderThemeThickness}"
AutomationProperties.Name="{utils:ResourceString Name=DateCalculationOption/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
SelectedIndex="0"> SelectedIndex="0">
<ComboBox.Resources> <ComboBox.Resources>
<ResourceDictionary> <ResourceDictionary>
@ -1026,12 +1027,12 @@
</ResourceDictionary.ThemeDictionaries> </ResourceDictionary.ThemeDictionaries>
</ResourceDictionary> </ResourceDictionary>
</ComboBox.Resources> </ComboBox.Resources>
<ComboBoxItem x:Uid="Date_DifferenceOption" <ComboBoxItem MinWidth="276"
MinWidth="276" Content="{utils:ResourceString Name=Date_DifferenceOption/Content}"
ContentTemplate="{StaticResource ComboBoxItemContentTemplate}" ContentTemplate="{StaticResource ComboBoxItemContentTemplate}"
IsSelected="{Binding IsDateDiffMode, Mode=TwoWay}"/> IsSelected="{Binding IsDateDiffMode, Mode=TwoWay}"/>
<ComboBoxItem x:Uid="Date_AddSubtractOption" <ComboBoxItem MinWidth="276"
MinWidth="276" Content="{utils:ResourceString Name=Date_AddSubtractOption/Content}"
ContentTemplate="{StaticResource ComboBoxItemContentTemplate}" ContentTemplate="{StaticResource ComboBoxItemContentTemplate}"
IsSelected="{Binding IsDateDiffMode, Converter={StaticResource BooleanNegationConverter}, Mode=TwoWay}"/> IsSelected="{Binding IsDateDiffMode, Converter={StaticResource BooleanNegationConverter}, Mode=TwoWay}"/>
</ComboBox> </ComboBox>
@ -1054,28 +1055,28 @@
<!-- From Date --> <!-- From Date -->
<CalendarDatePicker x:Name="DateDiff_FromDate" <CalendarDatePicker x:Name="DateDiff_FromDate"
x:Uid="DateDiff_FromHeader"
Grid.Row="1" Grid.Row="1"
Style="{StaticResource DateCalculation_CalendarPickerStyle}" Style="{StaticResource DateCalculation_CalendarPickerStyle}"
CalendarViewStyle="{StaticResource DateCalculation_CalendarViewStyle}" CalendarViewStyle="{StaticResource DateCalculation_CalendarViewStyle}"
Closed="CalendarFlyoutClosed" Closed="CalendarFlyoutClosed"
DateChanged="FromDate_DateChanged"/> DateChanged="FromDate_DateChanged"
Header="{utils:ResourceString Name=DateDiff_FromHeader/Header}"/>
<!-- To Date --> <!-- To Date -->
<CalendarDatePicker x:Name="DateDiff_ToDate" <CalendarDatePicker x:Name="DateDiff_ToDate"
x:Uid="DateDiff_ToHeader"
Grid.Row="3" Grid.Row="3"
Margin="0,0,0,0" Margin="0,0,0,0"
Style="{StaticResource DateCalculation_CalendarPickerStyle}" Style="{StaticResource DateCalculation_CalendarPickerStyle}"
CalendarViewStyle="{StaticResource DateCalculation_CalendarViewStyle}" CalendarViewStyle="{StaticResource DateCalculation_CalendarViewStyle}"
Closed="CalendarFlyoutClosed" Closed="CalendarFlyoutClosed"
DateChanged="ToDate_DateChanged"/> DateChanged="ToDate_DateChanged"
Header="{utils:ResourceString Name=DateDiff_ToHeader/Header}"/>
<!-- Difference Result --> <!-- Difference Result -->
<TextBlock x:Uid="Date_DifferenceLabel" <TextBlock Grid.Row="5"
Grid.Row="5"
Margin="0,0,0,0" Margin="0,0,0,0"
Style="{ThemeResource DateCalculation_CaptionTextStyle}"/> Style="{ThemeResource DateCalculation_CaptionTextStyle}"
Text="{utils:ResourceString Name=Date_DifferenceLabel/Text}"/>
<TextBlock x:Name="DateDiffAllUnitsResultLabel" <TextBlock x:Name="DateDiffAllUnitsResultLabel"
Grid.Row="6" Grid.Row="6"
Margin="0,4,0,0" Margin="0,4,0,0"
@ -1114,13 +1115,13 @@
<!-- From Date --> <!-- From Date -->
<CalendarDatePicker x:Name="AddSubtract_FromDate" <CalendarDatePicker x:Name="AddSubtract_FromDate"
x:Uid="AddSubtract_Date_FromHeader"
Grid.Row="1" Grid.Row="1"
Margin="0,0,0,0" Margin="0,0,0,0"
Style="{StaticResource DateCalculation_CalendarPickerStyle}" Style="{StaticResource DateCalculation_CalendarPickerStyle}"
CalendarViewStyle="{StaticResource DateCalculation_CalendarViewStyle}" CalendarViewStyle="{StaticResource DateCalculation_CalendarViewStyle}"
Closed="CalendarFlyoutClosed" Closed="CalendarFlyoutClosed"
DateChanged="AddSubtract_DateChanged"/> DateChanged="AddSubtract_DateChanged"
Header="{utils:ResourceString Name=AddSubtract_Date_FromHeader/Header}"/>
<Grid Grid.Row="3"> <Grid Grid.Row="3">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
@ -1129,20 +1130,20 @@
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<RadioButton x:Name="AddOption" <RadioButton x:Name="AddOption"
x:Uid="AddOption"
MinWidth="80" MinWidth="80"
MaxWidth="160" MaxWidth="160"
VerticalAlignment="Top" VerticalAlignment="Top"
Checked="AddSubtractOption_Checked" Checked="AddSubtractOption_Checked"
Content="{utils:ResourceString Name=AddOption/Content}"
IsChecked="{Binding IsAddMode, Mode=TwoWay}"/> IsChecked="{Binding IsAddMode, Mode=TwoWay}"/>
<RadioButton x:Name="SubtractOption" <RadioButton x:Name="SubtractOption"
x:Uid="SubtractOption"
Grid.Column="1" Grid.Column="1"
MinWidth="80" MinWidth="80"
MaxWidth="160" MaxWidth="160"
Margin="20,0,0,0" Margin="20,0,0,0"
VerticalAlignment="Top" VerticalAlignment="Top"
Checked="AddSubtractOption_Checked" Checked="AddSubtractOption_Checked"
Content="{utils:ResourceString Name=SubtractOption/Content}"
IsChecked="{Binding IsAddMode, Converter={StaticResource BooleanNegationConverter}, Mode=TwoWay}"/> IsChecked="{Binding IsAddMode, Converter={StaticResource BooleanNegationConverter}, Mode=TwoWay}"/>
</Grid> </Grid>
@ -1162,9 +1163,9 @@
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<TextBlock x:Name="YearsLabel" <TextBlock x:Name="YearsLabel"
x:Uid="YearsLabel"
Margin="0,0,0,6" Margin="0,0,0,6"
Style="{StaticResource DateCalculation_CaptionTextStyle}" Style="{StaticResource DateCalculation_CaptionTextStyle}"
Text="{utils:ResourceString Name=YearsLabel/Text}"
TextWrapping="Wrap"/> TextWrapping="Wrap"/>
<ComboBox x:Name="YearsValue" <ComboBox x:Name="YearsValue"
Grid.Row="1" Grid.Row="1"
@ -1175,10 +1176,10 @@
SelectedIndex="{Binding YearsOffset, Mode=TwoWay}" SelectedIndex="{Binding YearsOffset, Mode=TwoWay}"
SelectionChanged="OffsetValue_Changed"/> SelectionChanged="OffsetValue_Changed"/>
<TextBlock x:Name="MonthsLabel" <TextBlock x:Name="MonthsLabel"
x:Uid="MonthsLabel"
Grid.Column="1" Grid.Column="1"
Margin="12,0,12,6" Margin="12,0,12,6"
Style="{StaticResource DateCalculation_CaptionTextStyle}" Style="{StaticResource DateCalculation_CaptionTextStyle}"
Text="{utils:ResourceString Name=MonthsLabel/Text}"
TextWrapping="Wrap"/> TextWrapping="Wrap"/>
<ComboBox x:Name="MonthsValue" <ComboBox x:Name="MonthsValue"
Grid.Row="1" Grid.Row="1"
@ -1191,10 +1192,10 @@
SelectedIndex="{Binding MonthsOffset, Mode=TwoWay}" SelectedIndex="{Binding MonthsOffset, Mode=TwoWay}"
SelectionChanged="OffsetValue_Changed"/> SelectionChanged="OffsetValue_Changed"/>
<TextBlock x:Name="DaysLabel" <TextBlock x:Name="DaysLabel"
x:Uid="DaysLabel"
Grid.Column="2" Grid.Column="2"
Margin="0,0,0,6" Margin="0,0,0,6"
Style="{StaticResource DateCalculation_CaptionTextStyle}" Style="{StaticResource DateCalculation_CaptionTextStyle}"
Text="{utils:ResourceString Name=DaysLabel/Text}"
TextWrapping="Wrap"/> TextWrapping="Wrap"/>
<ComboBox x:Name="DaysValue" <ComboBox x:Name="DaysValue"
Grid.Row="1" Grid.Row="1"
@ -1208,9 +1209,9 @@
</Grid> </Grid>
<!-- Resulting Date --> <!-- Resulting Date -->
<TextBlock x:Uid="DateLabel" <TextBlock Grid.Row="7"
Grid.Row="7" Style="{StaticResource DateCalculation_CaptionTextStyle}"
Style="{StaticResource DateCalculation_CaptionTextStyle}"/> Text="{utils:ResourceString Name=DateLabel/Text}"/>
<TextBlock x:Name="DateResultLabel" <TextBlock x:Name="DateResultLabel"
Grid.Row="8" Grid.Row="8"

View file

@ -1,4 +1,4 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:CalculatorApp"> xmlns:local="using:CalculatorApp">

View file

@ -9,6 +9,7 @@
xmlns:local="using:CalculatorApp" xmlns:local="using:CalculatorApp"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:mux="using:Microsoft.UI.Xaml.Controls" xmlns:mux="using:Microsoft.UI.Xaml.Controls"
xmlns:utils="using:CalculatorApp.Utils"
xmlns:vm="using:CalculatorApp.ViewModel" xmlns:vm="using:CalculatorApp.ViewModel"
d:DesignHeight="300" d:DesignHeight="300"
d:DesignWidth="400" d:DesignWidth="400"
@ -114,7 +115,6 @@
Text="="/> Text="="/>
<TextBox x:Name="ValueTextBox" <TextBox x:Name="ValueTextBox"
x:Uid="VariableValueTextBox"
Grid.Column="2" Grid.Column="2"
Margin="6,0,0,0" Margin="6,0,0,0"
Padding="0,10,0,0" Padding="0,10,0,0"
@ -122,6 +122,7 @@
VerticalAlignment="Center" VerticalAlignment="Center"
Style="{StaticResource ThemedVariableTextBoxStyle}" Style="{StaticResource ThemedVariableTextBoxStyle}"
FontStyle="Italic" FontStyle="Italic"
AutomationProperties.Name="{utils:ResourceString Name=VariableValueTextBox/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
GotFocus="TextBoxGotFocus" GotFocus="TextBoxGotFocus"
KeyDown="TextBoxKeyDown" KeyDown="TextBoxKeyDown"
LosingFocus="TextBoxLosingFocus" LosingFocus="TextBoxLosingFocus"
@ -132,18 +133,18 @@
</TextBox> </TextBox>
</Grid> </Grid>
<Slider x:Uid="VariableValueSlider" <Slider Grid.Column="1"
Grid.Column="1"
Margin="8,0,8,-6" Margin="8,0,8,-6"
VerticalAlignment="Center" VerticalAlignment="Center"
contract7Present:CornerRadius="{ThemeResource ControlCornerRadius}"
AutomationProperties.Name="{utils:ResourceString Name=VariableValueSlider/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
DataContext="{x:Bind}" DataContext="{x:Bind}"
SmallChange="{x:Bind Step, Mode=TwoWay}" SmallChange="{x:Bind Step, Mode=TwoWay}"
StepFrequency="{x:Bind Step, Mode=TwoWay}" StepFrequency="{x:Bind Step, Mode=TwoWay}"
ValueChanged="Slider_ValueChanged" ValueChanged="Slider_ValueChanged"
Value="{x:Bind Value, Mode=TwoWay}" Value="{x:Bind Value, Mode=TwoWay}"
Maximum="{x:Bind Max, Mode=TwoWay}" Maximum="{x:Bind Max, Mode=TwoWay}"
Minimum="{x:Bind Min, Mode=TwoWay}" Minimum="{x:Bind Min, Mode=TwoWay}"/>
contract7Present:CornerRadius="{ThemeResource ControlCornerRadius}"/>
<Grid Grid.Row="1" <Grid Grid.Row="1"
Padding="8,0,8,8" Padding="8,0,8,8"
@ -159,17 +160,17 @@
<ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/> <ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<TextBlock x:Uid="MinTextBlock" <TextBlock Margin="0,12,4,0"
Margin="0,12,4,0"
VerticalAlignment="Center" VerticalAlignment="Center"
Foreground="{ThemeResource TextFillColorSecondaryBrush}" Foreground="{ThemeResource TextFillColorSecondaryBrush}"
FontSize="12"/> FontSize="12"
Text="{utils:ResourceString Name=MinTextBlock/Text}"/>
<TextBox x:Name="MinTextBox" <TextBox x:Name="MinTextBox"
x:Uid="VariableMinTextBox"
Grid.Column="1" Grid.Column="1"
Padding="2,16,2,2" Padding="2,16,2,2"
Style="{StaticResource ThemedVariableTextBoxStyle}" Style="{StaticResource ThemedVariableTextBoxStyle}"
FontSize="12" FontSize="12"
AutomationProperties.Name="{utils:ResourceString Name=VariableMinTextBox/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
GotFocus="TextBoxGotFocus" GotFocus="TextBoxGotFocus"
KeyDown="TextBoxKeyDown" KeyDown="TextBoxKeyDown"
LosingFocus="TextBoxLosingFocus" LosingFocus="TextBoxLosingFocus"
@ -184,18 +185,18 @@
<ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/> <ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<TextBlock x:Uid="StepTextBlock" <TextBlock Margin="0,12,4,0"
Margin="0,12,4,0"
HorizontalAlignment="Center" HorizontalAlignment="Center"
VerticalAlignment="Center" VerticalAlignment="Center"
Foreground="{ThemeResource TextFillColorSecondaryBrush}" Foreground="{ThemeResource TextFillColorSecondaryBrush}"
FontSize="12"/> FontSize="12"
Text="{utils:ResourceString Name=StepTextBlock/Text}"/>
<TextBox x:Name="StepTextBox" <TextBox x:Name="StepTextBox"
x:Uid="VariableStepTextBox"
Grid.Column="1" Grid.Column="1"
Padding="2,16,2,2" Padding="2,16,2,2"
Style="{StaticResource ThemedVariableTextBoxStyle}" Style="{StaticResource ThemedVariableTextBoxStyle}"
FontSize="12" FontSize="12"
AutomationProperties.Name="{utils:ResourceString Name=VariableStepTextBox/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
GotFocus="TextBoxGotFocus" GotFocus="TextBoxGotFocus"
KeyDown="TextBoxKeyDown" KeyDown="TextBoxKeyDown"
LosingFocus="TextBoxLosingFocus" LosingFocus="TextBoxLosingFocus"
@ -210,17 +211,17 @@
<ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/> <ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<TextBlock x:Uid="MaxTextBlock" <TextBlock Margin="0,12,4,0"
Margin="0,12,4,0"
VerticalAlignment="Center" VerticalAlignment="Center"
Foreground="{ThemeResource TextFillColorSecondaryBrush}" Foreground="{ThemeResource TextFillColorSecondaryBrush}"
FontSize="12"/> FontSize="12"
Text="{utils:ResourceString Name=MaxTextBlock/Text}"/>
<TextBox x:Name="MaxTextBox" <TextBox x:Name="MaxTextBox"
x:Uid="VariableMaxTextBox"
Grid.Column="1" Grid.Column="1"
Padding="2,16,2,2" Padding="2,16,2,2"
Style="{StaticResource ThemedVariableTextBoxStyle}" Style="{StaticResource ThemedVariableTextBoxStyle}"
FontSize="12" FontSize="12"
AutomationProperties.Name="{utils:ResourceString Name=VariableMaxTextBox/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
GotFocus="TextBoxGotFocus" GotFocus="TextBoxGotFocus"
KeyDown="TextBoxKeyDown" KeyDown="TextBoxKeyDown"
LosingFocus="TextBoxLosingFocus" LosingFocus="TextBoxLosingFocus"
@ -233,14 +234,15 @@
</Grid> </Grid>
<ToggleButton Name="VariableAreaSettings" <ToggleButton Name="VariableAreaSettings"
x:Uid="VariableAreaSettings"
Margin="0,6,0,0" Margin="0,6,0,0"
HorizontalAlignment="Center" HorizontalAlignment="Center"
VerticalAlignment="Center" VerticalAlignment="Center"
BorderThickness="0" BorderThickness="0"
AutomationProperties.Name="{utils:ResourceString Name=VariableAreaSettings/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
Click="VariableAreaClicked" Click="VariableAreaClicked"
IsChecked="{x:Bind SliderSettingsVisible, Mode=OneWay}" IsChecked="{x:Bind SliderSettingsVisible, Mode=OneWay}"
Tapped="VariableAreaButtonTapped"> Tapped="VariableAreaButtonTapped"
ToolTipService.ToolTip="{utils:ResourceString Name=VariableAreaSettings/[using:Windows.UI.Xaml.Controls]ToolTipService/ToolTip}">
<ToggleButton.Resources> <ToggleButton.Resources>
<ResourceDictionary> <ResourceDictionary>
<ResourceDictionary.ThemeDictionaries> <ResourceDictionary.ThemeDictionaries>
@ -495,7 +497,7 @@
Background="Transparent" Background="Transparent"
FlowDirection="LeftToRight" FlowDirection="LeftToRight"
Orientation="Horizontal"> Orientation="Horizontal">
<FontIcon FontFamily="{StaticResource CalculatorFontFamily}" Glyph="&#xF893;"/> <FontIcon FontFamily="{StaticResource CalculatorFontFamily}" Glyph=""/>
<TextBlock x:Name="FunctionNumberLabelTextBlock" <TextBlock x:Name="FunctionNumberLabelTextBlock"
Margin="-5,19,0,0" Margin="-5,19,0,0"
FontSize="11" FontSize="11"
@ -586,7 +588,7 @@
<Setter Target="Overlay.Opacity" Value="{StaticResource EquationButtonOverlayPointerOverOpacity}"/> <Setter Target="Overlay.Opacity" Value="{StaticResource EquationButtonOverlayPointerOverOpacity}"/>
<Setter Target="ContentPresenter.Visibility" Value="Collapsed"/> <Setter Target="ContentPresenter.Visibility" Value="Collapsed"/>
<Setter Target="ShowHideIcon.Visibility" Value="Visible"/> <Setter Target="ShowHideIcon.Visibility" Value="Visible"/>
<Setter Target="ShowHideIcon.Glyph" Value="&#xF6AC;"/> <Setter Target="ShowHideIcon.Glyph" Value=""/>
</VisualState.Setters> </VisualState.Setters>
</VisualState> </VisualState>
<VisualState x:Name="Pressed"> <VisualState x:Name="Pressed">
@ -597,7 +599,7 @@
<Setter Target="ShowHideIcon.Foreground" Value="{ThemeResource ToggleButtonForegroundPressed}"/> <Setter Target="ShowHideIcon.Foreground" Value="{ThemeResource ToggleButtonForegroundPressed}"/>
<Setter Target="ContentPresenter.Visibility" Value="Collapsed"/> <Setter Target="ContentPresenter.Visibility" Value="Collapsed"/>
<Setter Target="ShowHideIcon.Visibility" Value="Visible"/> <Setter Target="ShowHideIcon.Visibility" Value="Visible"/>
<Setter Target="ShowHideIcon.Glyph" Value="&#xF6AC;"/> <Setter Target="ShowHideIcon.Glyph" Value=""/>
</VisualState.Setters> </VisualState.Setters>
</VisualState> </VisualState>
<VisualState x:Name="Checked"> <VisualState x:Name="Checked">
@ -615,7 +617,7 @@
<Setter Target="Overlay.Opacity" Value="{StaticResource EquationButtonOverlayPointerOverOpacity}"/> <Setter Target="Overlay.Opacity" Value="{StaticResource EquationButtonOverlayPointerOverOpacity}"/>
<Setter Target="ContentPresenter.Visibility" Value="Collapsed"/> <Setter Target="ContentPresenter.Visibility" Value="Collapsed"/>
<Setter Target="ShowHideIcon.Visibility" Value="Visible"/> <Setter Target="ShowHideIcon.Visibility" Value="Visible"/>
<Setter Target="ShowHideIcon.Glyph" Value="&#xE890;"/> <Setter Target="ShowHideIcon.Glyph" Value=""/>
</VisualState.Setters> </VisualState.Setters>
</VisualState> </VisualState>
<VisualState x:Name="CheckedPressed"> <VisualState x:Name="CheckedPressed">
@ -626,7 +628,7 @@
<Setter Target="Overlay.Opacity" Value="{StaticResource EquationButtonOverlayPressedOpacity}"/> <Setter Target="Overlay.Opacity" Value="{StaticResource EquationButtonOverlayPressedOpacity}"/>
<Setter Target="ContentPresenter.Visibility" Value="Collapsed"/> <Setter Target="ContentPresenter.Visibility" Value="Collapsed"/>
<Setter Target="ShowHideIcon.Visibility" Value="Visible"/> <Setter Target="ShowHideIcon.Visibility" Value="Visible"/>
<Setter Target="ShowHideIcon.Glyph" Value="&#xE890;"/> <Setter Target="ShowHideIcon.Glyph" Value=""/>
</VisualState.Setters> </VisualState.Setters>
</VisualState> </VisualState>
</VisualStateGroup> </VisualStateGroup>
@ -649,7 +651,6 @@
</ToggleButton.Style> </ToggleButton.Style>
</ToggleButton> </ToggleButton>
<controls:MathRichEditBox x:Name="MathRichEditBox" <controls:MathRichEditBox x:Name="MathRichEditBox"
x:Uid="mathRichEditBox"
Grid.Column="1" Grid.Column="1"
MinHeight="44" MinHeight="44"
Padding="{TemplateBinding Padding}" Padding="{TemplateBinding Padding}"
@ -663,36 +664,37 @@
InputScope="Text" InputScope="Text"
MathText="{Binding MathEquation, RelativeSource={RelativeSource TemplatedParent}, Mode=TwoWay}" MathText="{Binding MathEquation, RelativeSource={RelativeSource TemplatedParent}, Mode=TwoWay}"
MaxLength="2048" MaxLength="2048"
PlaceholderText="{utils:ResourceString Name=mathRichEditBox/PlaceholderText}"
TextWrapping="NoWrap"> TextWrapping="NoWrap">
<controls:MathRichEditBox.ContextFlyout> <controls:MathRichEditBox.ContextFlyout>
<MenuFlyout x:Name="MathRichEditContextMenu"> <MenuFlyout x:Name="MathRichEditContextMenu">
<MenuFlyoutItem x:Name="CutMenuItem" <MenuFlyoutItem x:Name="CutMenuItem"
x:Uid="cutEquationMenuItem" Icon="Cut"
Icon="Cut"/> Text="{utils:ResourceString Name=cutEquationMenuItem/Text}"/>
<MenuFlyoutItem x:Name="CopyMenuItem" <MenuFlyoutItem x:Name="CopyMenuItem"
x:Uid="copyEquationMenuItem" Icon="Copy"
Icon="Copy"/> Text="{utils:ResourceString Name=copyEquationMenuItem/Text}"/>
<MenuFlyoutItem x:Name="PasteMenuItem" <MenuFlyoutItem x:Name="PasteMenuItem"
x:Uid="pasteEquationMenuItem" Icon="Paste"
Icon="Paste"/> Text="{utils:ResourceString Name=pasteEquationMenuItem/Text}"/>
<MenuFlyoutItem x:Name="UndoMenuItem" <MenuFlyoutItem x:Name="UndoMenuItem"
x:Uid="undoEquationMenuItem" Icon="Undo"
Icon="Undo"/> Text="{utils:ResourceString Name=undoEquationMenuItem/Text}"/>
<MenuFlyoutItem x:Name="SelectAllMenuItem" x:Uid="selectAllEquationMenuItem"/> <MenuFlyoutItem x:Name="SelectAllMenuItem" Text="{utils:ResourceString Name=selectAllEquationMenuItem/Text}"/>
<MenuFlyoutSeparator/> <MenuFlyoutSeparator/>
<MenuFlyoutItem x:Name="FunctionAnalysisMenuItem"> <MenuFlyoutItem x:Name="FunctionAnalysisMenuItem">
<MenuFlyoutItem.Icon> <MenuFlyoutItem.Icon>
<FontIcon FontFamily="{StaticResource CalculatorFontFamily}" Glyph="&#xE945;"/> <FontIcon FontFamily="{StaticResource CalculatorFontFamily}" Glyph=""/>
</MenuFlyoutItem.Icon> </MenuFlyoutItem.Icon>
</MenuFlyoutItem> </MenuFlyoutItem>
<MenuFlyoutItem x:Name="ChangeFunctionStyleMenuItem"> <MenuFlyoutItem x:Name="ChangeFunctionStyleMenuItem">
<MenuFlyoutItem.Icon> <MenuFlyoutItem.Icon>
<FontIcon FontFamily="{StaticResource CalculatorFontFamily}" Glyph="&#xE790;"/> <FontIcon FontFamily="{StaticResource CalculatorFontFamily}" Glyph=""/>
</MenuFlyoutItem.Icon> </MenuFlyoutItem.Icon>
</MenuFlyoutItem> </MenuFlyoutItem>
<MenuFlyoutItem x:Name="RemoveFunctionMenuItem"> <MenuFlyoutItem x:Name="RemoveFunctionMenuItem">
<MenuFlyoutItem.Icon> <MenuFlyoutItem.Icon>
<FontIcon FontFamily="{StaticResource CalculatorFontFamily}" Glyph="&#xECC9;"/> <FontIcon FontFamily="{StaticResource CalculatorFontFamily}" Glyph=""/>
</MenuFlyoutItem.Icon> </MenuFlyoutItem.Icon>
</MenuFlyoutItem> </MenuFlyoutItem>
</MenuFlyout> </MenuFlyout>
@ -700,7 +702,6 @@
</controls:MathRichEditBox> </controls:MathRichEditBox>
<Button x:Name="FunctionButton" <Button x:Name="FunctionButton"
x:Uid="functionAnalysisButton"
Grid.Column="2" Grid.Column="2"
MinWidth="38" MinWidth="38"
Margin="1,2" Margin="1,2"
@ -709,11 +710,12 @@
BorderThickness="0" BorderThickness="0"
FontFamily="{StaticResource CalculatorFontFamily}" FontFamily="{StaticResource CalculatorFontFamily}"
AutomationProperties.AccessibilityView="Raw" AutomationProperties.AccessibilityView="Raw"
Content="&#xE945;" AutomationProperties.Name="{utils:ResourceString Name=functionAnalysisButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
Content=""
IsTabStop="False" IsTabStop="False"
ToolTipService.ToolTip="{utils:ResourceString Name=functionAnalysisButton/[using:Windows.UI.Xaml.Controls]ToolTipService/ToolTip}"
Visibility="Collapsed"/> Visibility="Collapsed"/>
<ToggleButton x:Name="ColorChooserButton" <ToggleButton x:Name="ColorChooserButton"
x:Uid="colorChooserButton"
Grid.Column="3" Grid.Column="3"
MinWidth="38" MinWidth="38"
Margin="1,2" Margin="1,2"
@ -722,8 +724,10 @@
BorderThickness="0" BorderThickness="0"
FontFamily="{StaticResource CalculatorFontFamily}" FontFamily="{StaticResource CalculatorFontFamily}"
AutomationProperties.AccessibilityView="Raw" AutomationProperties.AccessibilityView="Raw"
Content="&#xE790;" AutomationProperties.Name="{utils:ResourceString Name=colorChooserButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
Content=""
IsTabStop="False" IsTabStop="False"
ToolTipService.ToolTip="{utils:ResourceString Name=colorChooserButton/[using:Windows.UI.Xaml.Controls]ToolTipService/ToolTip}"
Visibility="Collapsed"> Visibility="Collapsed">
<ToggleButton.Resources> <ToggleButton.Resources>
<ResourceDictionary> <ResourceDictionary>
@ -761,12 +765,11 @@
FontFamily="{ThemeResource CalculatorFontFamily}" FontFamily="{ThemeResource CalculatorFontFamily}"
FontSize="16" FontSize="16"
AutomationProperties.AccessibilityView="Raw" AutomationProperties.AccessibilityView="Raw"
Glyph="&#xF736;" Glyph=""
ToolTipService.ToolTip="{TemplateBinding ErrorText}" ToolTipService.ToolTip="{TemplateBinding ErrorText}"
Visibility="Collapsed"/> Visibility="Collapsed"/>
<Grid x:Name="RemoveButtonPanel" Grid.Column="5"> <Grid x:Name="RemoveButtonPanel" Grid.Column="5">
<Button x:Name="RemoveButton" <Button x:Name="RemoveButton"
x:Uid="removeButton"
MinWidth="38" MinWidth="38"
Margin="1,2" Margin="1,2"
VerticalAlignment="Stretch" VerticalAlignment="Stretch"
@ -774,8 +777,10 @@
BorderThickness="0" BorderThickness="0"
FontFamily="{StaticResource CalculatorFontFamily}" FontFamily="{StaticResource CalculatorFontFamily}"
AutomationProperties.AccessibilityView="Raw" AutomationProperties.AccessibilityView="Raw"
Content="&#xE74D;" AutomationProperties.Name="{utils:ResourceString Name=removeButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
Content=""
IsTabStop="False" IsTabStop="False"
ToolTipService.ToolTip="{utils:ResourceString Name=removeButton/[using:Windows.UI.Xaml.Controls]ToolTipService/ToolTip}"
Visibility="Collapsed"/> Visibility="Collapsed"/>
</Grid> </Grid>
<Button x:Name="DeleteButton" <Button x:Name="DeleteButton"
@ -789,7 +794,7 @@
FontFamily="{ThemeResource CalculatorFontFamily}" FontFamily="{ThemeResource CalculatorFontFamily}"
FontSize="12" FontSize="12"
AutomationProperties.AccessibilityView="Raw" AutomationProperties.AccessibilityView="Raw"
Content="&#xE947;" Content=""
IsTabStop="False" IsTabStop="False"
Visibility="Collapsed"/> Visibility="Collapsed"/>
</Grid> </Grid>
@ -802,10 +807,10 @@
</ResourceDictionary> </ResourceDictionary>
</UserControl.Resources> </UserControl.Resources>
<ScrollViewer VerticalScrollBarVisibility="Auto"> <ScrollViewer VerticalScrollBarVisibility="Auto">
<StackPanel x:Uid="EquationInputPanel"> <StackPanel AutomationProperties.Name="{utils:ResourceString Name=EquationInputPanel/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}">
<!-- This ListView and the one below should be replacted by an ItemRepeater once https://github.com/microsoft/microsoft-ui-xaml/issues/2011 is fixed. --> <!-- This ListView and the one below should be replacted by an ItemRepeater once https://github.com/microsoft/microsoft-ui-xaml/issues/2011 is fixed. -->
<ListView x:Name="EquationInputList" <ListView x:Name="EquationInputList"
x:Uid="EquationInputList" AutomationProperties.Name="{utils:ResourceString Name=EquationInputList/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
IsItemClickEnabled="False" IsItemClickEnabled="False"
ItemsSource="{x:Bind Equations}" ItemsSource="{x:Bind Equations}"
SelectionMode="None" SelectionMode="None"
@ -833,9 +838,9 @@
<ListView.ItemTemplate> <ListView.ItemTemplate>
<DataTemplate x:DataType="vm:EquationViewModel"> <DataTemplate x:DataType="vm:EquationViewModel">
<controls:EquationTextBox x:Name="EquationInputButton" <controls:EquationTextBox x:Name="EquationInputButton"
x:Uid="EquationInputButton"
Margin="1,0,1,2" Margin="1,0,1,2"
Style="{StaticResource EquationTextBoxStyle}" Style="{StaticResource EquationTextBoxStyle}"
AutomationProperties.Name="{utils:ResourceString Name=EquationInputButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
DataContext="{x:Bind Mode=OneWay}" DataContext="{x:Bind Mode=OneWay}"
DataContextChanged="EquationTextBox_DataContextChanged" DataContextChanged="EquationTextBox_DataContextChanged"
EquationButtonClicked="EquationTextBox_EquationButtonClicked" EquationButtonClicked="EquationTextBox_EquationButtonClicked"
@ -870,7 +875,7 @@
<Rectangle Height="1" <Rectangle Height="1"
Margin="12" Margin="12"
Fill="{ThemeResource DividerStrokeColorDefaultBrush}"/> Fill="{ThemeResource DividerStrokeColorDefaultBrush}"/>
<ListView x:Uid="VariableListView" <ListView AutomationProperties.Name="{utils:ResourceString Name=VariableListView/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
IsItemClickEnabled="False" IsItemClickEnabled="False"
ItemTemplate="{StaticResource VariableDataTemplate}" ItemTemplate="{StaticResource VariableDataTemplate}"
ItemsSource="{x:Bind Variables, Mode=OneWay}" ItemsSource="{x:Bind Variables, Mode=OneWay}"

View file

@ -1,16 +1,17 @@
<UserControl x:Class="CalculatorApp.EquationStylePanelControl" <UserControl x:Class="CalculatorApp.EquationStylePanelControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="using:CalculatorApp" xmlns:local="using:CalculatorApp"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:utils="using:CalculatorApp.Utils"
mc:Ignorable="d"> mc:Ignorable="d">
<StackPanel> <StackPanel>
<TextBlock x:Uid="LineOptionsHeading" <TextBlock Margin="8,0,0,16"
Margin="8,0,0,16"
FontSize="20" FontSize="20"
FontWeight="Medium" FontWeight="Medium"
AutomationProperties.HeadingLevel="Level2"/> AutomationProperties.HeadingLevel="Level2"
Text="{utils:ResourceString Name=LineOptionsHeading/Text}"/>
<GridView x:Name="ColorChooser" <GridView x:Name="ColorChooser"
ItemsSource="{x:Bind AvailableColors}" ItemsSource="{x:Bind AvailableColors}"
Loaded="ColorChooserLoaded" Loaded="ColorChooserLoaded"
@ -66,7 +67,7 @@
Fill="Transparent" Fill="Transparent"
Stroke="Transparent" Stroke="Transparent"
StrokeThickness="2"/> StrokeThickness="2"/>
<ContentPresenter x:Name="ItemContent" /> <ContentPresenter x:Name="ItemContent"/>
</Grid> </Grid>
</ControlTemplate> </ControlTemplate>
</Setter.Value> </Setter.Value>
@ -74,9 +75,9 @@
</Style> </Style>
</GridView.Resources> </GridView.Resources>
<GridView.Header> <GridView.Header>
<TextBlock x:Uid="LineColorText" <TextBlock Margin="8,0,8,8"
Margin="8,0,8,8" Foreground="{ThemeResource TextFillColorSecondaryBrush}"
Foreground="{ThemeResource TextFillColorSecondaryBrush}"/> Text="{utils:ResourceString Name=LineColorText/Text}"/>
</GridView.Header> </GridView.Header>
<GridView.ItemTemplate> <GridView.ItemTemplate>
<DataTemplate x:DataType="Brush"> <DataTemplate x:DataType="Brush">
@ -106,9 +107,9 @@
Visibility="Visible" Visibility="Visible"
IsEnabled="{x:Bind EnableLineStylePicker, Mode=OneWay}"> IsEnabled="{x:Bind EnableLineStylePicker, Mode=OneWay}">
<ComboBox.Header> <ComboBox.Header>
<TextBlock x:Uid="StyleChooserBoxHeading" <TextBlock Margin="0,0,8,8"
Margin="0,0,8,8" Foreground="{ThemeResource TextFillColorSecondaryBrush}"
Foreground="{ThemeResource TextFillColorSecondaryBrush}"/> Text="{utils:ResourceString Name=StyleChooserBoxHeading/Text}"/>
</ComboBox.Header> </ComboBox.Header>
<ComboBox.ItemTemplate> <ComboBox.ItemTemplate>
<!-- Set x:DataType to be Platform::Object so that we can pass it to the x:Bind function directly since we cannot pass an enum in c++/cx --> <!-- Set x:DataType to be Platform::Object so that we can pass it to the x:Bind function directly since we cannot pass an enum in c++/cx -->

View file

@ -9,6 +9,7 @@
xmlns:graphControl="using:GraphControl" xmlns:graphControl="using:GraphControl"
xmlns:local="using:CalculatorApp" xmlns:local="using:CalculatorApp"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:utils="using:CalculatorApp.Utils"
x:Name="Control" x:Name="Control"
DataContextChanged="GraphingCalculator_DataContextChanged" DataContextChanged="GraphingCalculator_DataContextChanged"
mc:Ignorable="d"> mc:Ignorable="d">
@ -214,7 +215,7 @@
Foreground="{ThemeResource ToggleSwitchIconOnBrush}" Foreground="{ThemeResource ToggleSwitchIconOnBrush}"
FontFamily="{StaticResource CalculatorFontFamily}" FontFamily="{StaticResource CalculatorFontFamily}"
FontSize="14" FontSize="14"
Glyph="&#xF770;"/> Glyph=""/>
<Grid Margin="-2,0,2,0" <Grid Margin="-2,0,2,0"
VerticalAlignment="Center" VerticalAlignment="Center"
FlowDirection="LeftToRight"> FlowDirection="LeftToRight">
@ -223,7 +224,7 @@
Foreground="{ThemeResource ToggleSwitchIconOffBrush}" Foreground="{ThemeResource ToggleSwitchIconOffBrush}"
FontFamily="{StaticResource CalculatorFontFamily}" FontFamily="{StaticResource CalculatorFontFamily}"
FontSize="12" FontSize="12"
Glyph="&#xF893;"/> Glyph=""/>
<TextBlock x:Name="EquationsIconX" <TextBlock x:Name="EquationsIconX"
Margin="0,8,-1,0" Margin="0,8,-1,0"
HorizontalAlignment="Right" HorizontalAlignment="Right"
@ -244,13 +245,13 @@
Foreground="{ThemeResource ToggleSwitchIconOffBrush}" Foreground="{ThemeResource ToggleSwitchIconOffBrush}"
FontFamily="{StaticResource CalculatorFontFamily}" FontFamily="{StaticResource CalculatorFontFamily}"
FontSize="14" FontSize="14"
Glyph="&#xF770;"/> Glyph=""/>
<Grid Margin="-2,0,2,0" VerticalAlignment="Center"> <Grid Margin="-2,0,2,0" VerticalAlignment="Center">
<FontIcon VerticalAlignment="Center" <FontIcon VerticalAlignment="Center"
Foreground="{ThemeResource ToggleSwitchIconOnBrush}" Foreground="{ThemeResource ToggleSwitchIconOnBrush}"
FontFamily="{StaticResource CalculatorFontFamily}" FontFamily="{StaticResource CalculatorFontFamily}"
FontSize="12" FontSize="12"
Glyph="&#xF893;"/> Glyph=""/>
<TextBlock Margin="0,8,-1,0" <TextBlock Margin="0,8,-1,0"
HorizontalAlignment="Right" HorizontalAlignment="Right"
VerticalAlignment="Bottom" VerticalAlignment="Bottom"
@ -553,13 +554,12 @@
<!-- Top panel --> <!-- Top panel -->
<Grid Grid.ColumnSpan="2"> <Grid Grid.ColumnSpan="2">
<ToggleSwitch x:Name="SwitchModeToggleButton" <ToggleSwitch x:Name="SwitchModeToggleButton"
x:Uid="SwitchModeToggleButton"
Margin="0,0,12,2" Margin="0,0,12,2"
HorizontalAlignment="Right" HorizontalAlignment="Right"
VerticalAlignment="Center" VerticalAlignment="Center"
Style="{StaticResource ConditionalGraphModeToggleSwitchStyle}" Style="{StaticResource ConditionalGraphModeToggleSwitchStyle}"
AutomationProperties.AutomationId="SwitchModeToggleButton" AutomationProperties.AutomationId="SwitchModeToggleButton"
AutomationProperties.Name="{x:Bind local:GraphingCalculator.GetInfoForSwitchModeToggleButton(SwitchModeToggleButton.IsOn), Mode=OneWay}" AutomationProperties.Name="{utils:ResourceString Name=SwitchModeToggleButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
Toggled="SwitchModeToggleButton_Toggled" Toggled="SwitchModeToggleButton_Toggled"
ToolTipService.ToolTip="{x:Bind local:GraphingCalculator.GetInfoForSwitchModeToggleButton(SwitchModeToggleButton.IsOn), Mode=OneWay}" ToolTipService.ToolTip="{x:Bind local:GraphingCalculator.GetInfoForSwitchModeToggleButton(SwitchModeToggleButton.IsOn), Mode=OneWay}"
Visibility="Collapsed"/> Visibility="Collapsed"/>
@ -595,9 +595,9 @@
VariablesUpdated="GraphingControl_VariablesUpdated"> VariablesUpdated="GraphingControl_VariablesUpdated">
<graphControl:Grapher.ContextFlyout> <graphControl:Grapher.ContextFlyout>
<MenuFlyout Placement="Bottom"> <MenuFlyout Placement="Bottom">
<MenuFlyoutItem x:Uid="GraphCopyMenuItem" <MenuFlyoutItem Click="GraphMenuFlyoutItem_Click"
Click="GraphMenuFlyoutItem_Click" Icon="Copy"
Icon="Copy"/> Text="{utils:ResourceString Name=GraphCopyMenuItem/Text}"/>
</MenuFlyout> </MenuFlyout>
</graphControl:Grapher.ContextFlyout> </graphControl:Grapher.ContextFlyout>
</graphControl:Grapher> </graphControl:Grapher>
@ -636,30 +636,32 @@
</ToolTipService.ToolTip> </ToolTipService.ToolTip>
<FontIcon FontFamily="{StaticResource CalculatorFontFamily}" <FontIcon FontFamily="{StaticResource CalculatorFontFamily}"
FontSize="16" FontSize="16"
Glyph="&#xE3B3;"/> Glyph=""/>
</ToggleButton> </ToggleButton>
<Button x:Uid="shareButton" <Button MinWidth="32"
MinWidth="32"
Margin="0,4,0,4" Margin="0,4,0,4"
Style="{ThemeResource ThemedGraphButtonStyle}" Style="{ThemeResource ThemedGraphButtonStyle}"
contract7Present:CornerRadius="{ThemeResource ControlCornerRadius}" contract7Present:CornerRadius="{ThemeResource ControlCornerRadius}"
Click="OnShareClick"> AutomationProperties.Name="{utils:ResourceString Name=shareButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
Click="OnShareClick"
ToolTipService.ToolTip="{utils:ResourceString Name=shareButton/[using:Windows.UI.Xaml.Controls]ToolTipService/ToolTip}">
<FontIcon FontFamily="{StaticResource CalculatorFontFamily}" <FontIcon FontFamily="{StaticResource CalculatorFontFamily}"
FontSize="16" FontSize="16"
Glyph="&#xE72D;"/> Glyph=""/>
</Button> </Button>
<Button x:Name="GraphSettingsButton" <Button x:Name="GraphSettingsButton"
x:Uid="graphSettingsButton"
MinWidth="3" MinWidth="3"
Margin="4" Margin="4"
Style="{ThemeResource ThemedGraphButtonStyle}" Style="{ThemeResource ThemedGraphButtonStyle}"
contract7Present:CornerRadius="{ThemeResource ControlCornerRadius}" contract7Present:CornerRadius="{ThemeResource ControlCornerRadius}"
Click="GraphSettingsButton_Click"> AutomationProperties.Name="{utils:ResourceString Name=graphSettingsButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
Click="GraphSettingsButton_Click"
ToolTipService.ToolTip="{utils:ResourceString Name=graphSettingsButton/[using:Windows.UI.Xaml.Controls]ToolTipService/ToolTip}">
<FontIcon FontFamily="{StaticResource CalculatorFontFamily}" <FontIcon FontFamily="{StaticResource CalculatorFontFamily}"
FontSize="16" FontSize="16"
Glyph="&#xE3B4;"/> Glyph=""/>
</Button> </Button>
</StackPanel> </StackPanel>
</Border> </Border>
@ -701,7 +703,6 @@
</ResourceDictionary> </ResourceDictionary>
</StackPanel.Resources> </StackPanel.Resources>
<RepeatButton x:Name="ZoomInButton" <RepeatButton x:Name="ZoomInButton"
x:Uid="zoomInButton"
MinHeight="32" MinHeight="32"
Margin="4" Margin="4"
HorizontalAlignment="Stretch" HorizontalAlignment="Stretch"
@ -709,17 +710,18 @@
FontFamily="{StaticResource CalculatorFontFamily}" FontFamily="{StaticResource CalculatorFontFamily}"
contract7Present:CornerRadius="{ThemeResource ControlCornerRadius}" contract7Present:CornerRadius="{ThemeResource ControlCornerRadius}"
AutomationProperties.AutomationId="zoomInButton" AutomationProperties.AutomationId="zoomInButton"
Command="{x:Bind ZoomInButtonPressed, Mode=OneTime}"> AutomationProperties.Name="{utils:ResourceString Name=zoomInButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
Command="{x:Bind ZoomInButtonPressed, Mode=OneTime}"
ToolTipService.ToolTip="{utils:ResourceString Name=zoomInButton/[using:Windows.UI.Xaml.Controls]ToolTipService/ToolTip}">
<FontIcon FontFamily="{StaticResource CalculatorFontFamily}" <FontIcon FontFamily="{StaticResource CalculatorFontFamily}"
FontSize="14" FontSize="14"
Glyph="&#xE948;"/> Glyph=""/>
<RepeatButton.KeyboardAccelerators> <RepeatButton.KeyboardAccelerators>
<KeyboardAccelerator Key="Add" Modifiers="Control"/> <KeyboardAccelerator Key="Add" Modifiers="Control"/>
</RepeatButton.KeyboardAccelerators> </RepeatButton.KeyboardAccelerators>
</RepeatButton> </RepeatButton>
<RepeatButton x:Name="ZoomOutButton" <RepeatButton x:Name="ZoomOutButton"
x:Uid="zoomOutButton"
MinHeight="32" MinHeight="32"
Margin="4,0,4,0" Margin="4,0,4,0"
HorizontalAlignment="Stretch" HorizontalAlignment="Stretch"
@ -727,31 +729,36 @@
FontFamily="{StaticResource CalculatorFontFamily}" FontFamily="{StaticResource CalculatorFontFamily}"
contract7Present:CornerRadius="{ThemeResource ControlCornerRadius}" contract7Present:CornerRadius="{ThemeResource ControlCornerRadius}"
AutomationProperties.AutomationId="zoomOutButton" AutomationProperties.AutomationId="zoomOutButton"
Command="{x:Bind ZoomOutButtonPressed, Mode=OneTime}"> AutomationProperties.Name="{utils:ResourceString Name=zoomOutButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
Command="{x:Bind ZoomOutButtonPressed, Mode=OneTime}"
ToolTipService.ToolTip="{utils:ResourceString Name=zoomOutButton/[using:Windows.UI.Xaml.Controls]ToolTipService/ToolTip}">
<FontIcon FontFamily="{StaticResource CalculatorFontFamily}" <FontIcon FontFamily="{StaticResource CalculatorFontFamily}"
FontSize="14" FontSize="14"
Glyph="&#xE949;"/> Glyph=""/>
<RepeatButton.KeyboardAccelerators> <RepeatButton.KeyboardAccelerators>
<KeyboardAccelerator Key="Subtract" Modifiers="Control"/> <KeyboardAccelerator Key="Subtract" Modifiers="Control"/>
</RepeatButton.KeyboardAccelerators> </RepeatButton.KeyboardAccelerators>
</RepeatButton> </RepeatButton>
<ToggleButton x:Uid="graphViewButton" <ToggleButton xmlns:d6p1="using:CalculatorApp.Common"
MinHeight="32" MinHeight="32"
Margin="4" Margin="4"
Style="{ThemeResource ThemedGraphViewToggleButtonStyle}" Style="{ThemeResource ThemedGraphViewToggleButtonStyle}"
contract7Present:CornerRadius="{ThemeResource ControlCornerRadius}" contract7Present:CornerRadius="{ThemeResource ControlCornerRadius}"
d6p1:KeyboardShortcutManager.VirtualKeyControlChord="{utils:ResourceVirtualKey Name=graphViewButton/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKeyControlChord}"
AutomationProperties.AutomationId="graphViewButton" AutomationProperties.AutomationId="graphViewButton"
AutomationProperties.Name="{utils:ResourceString Name=graphViewButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
Click="GraphViewButton_Click" Click="GraphViewButton_Click"
IsChecked="{x:Bind IsManualAdjustment, Mode=TwoWay}"> IsChecked="{x:Bind IsManualAdjustment, Mode=TwoWay}"
ToolTipService.ToolTip="{utils:ResourceString Name=graphViewButton/[using:Windows.UI.Xaml.Controls]ToolTipService/ToolTip}">
<ToggleButton.Content> <ToggleButton.Content>
<Grid> <Grid>
<FontIcon FontFamily="{StaticResource CalculatorFontFamily}" <FontIcon FontFamily="{StaticResource CalculatorFontFamily}"
FontSize="14" FontSize="14"
Glyph="&#xE45E;"/> Glyph=""/>
<FontIcon FontFamily="{StaticResource CalculatorFontFamily}" <FontIcon FontFamily="{StaticResource CalculatorFontFamily}"
FontSize="14" FontSize="14"
Glyph="&#xE45D;" Glyph=""
Visibility="{x:Bind IsManualAdjustment, Mode=OneWay, Converter={StaticResource BooleanToVisibilityNegationConverter}}"/> Visibility="{x:Bind IsManualAdjustment, Mode=OneWay, Converter={StaticResource BooleanToVisibilityNegationConverter}}"/>
</Grid> </Grid>
</ToggleButton.Content> </ToggleButton.Content>

File diff suppressed because it is too large Load diff

View file

@ -6,6 +6,7 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="using:CalculatorApp" xmlns:local="using:CalculatorApp"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:utils="using:CalculatorApp.Utils"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}" Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"
mc:Ignorable="d"> mc:Ignorable="d">
<UserControl.Resources> <UserControl.Resources>
@ -110,26 +111,26 @@
<Grid> <Grid>
<StackPanel Margin="4,0,4,4"> <StackPanel Margin="4,0,4,4">
<TextBlock x:Name="GraphOptionsHeading" <TextBlock x:Name="GraphOptionsHeading"
x:Uid="GraphOptionsHeading"
FontSize="20" FontSize="20"
FontWeight="Medium" FontWeight="Medium"
AutomationProperties.HeadingLevel="Level1"/> AutomationProperties.HeadingLevel="Level1"
Text="{utils:ResourceString Name=GraphOptionsHeading/Text}"/>
<Grid Margin="0,16,0,4"> <Grid Margin="0,16,0,4">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/> <ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<TextBlock x:Name="GridHeading" <TextBlock x:Name="GridHeading"
x:Uid="GridHeading"
Style="{StaticResource SubTitleTextBoxStyle}" Style="{StaticResource SubTitleTextBoxStyle}"
AutomationProperties.HeadingLevel="Level2"/> AutomationProperties.HeadingLevel="Level2"
<HyperlinkButton x:Uid="ResetViewButton" Text="{utils:ResourceString Name=GridHeading/Text}"/>
Grid.Column="1" <HyperlinkButton Grid.Column="1"
Padding="0" Padding="0"
FontSize="12"
Foreground="{ThemeResource AccentTextFillColorPrimaryBrush}" Foreground="{ThemeResource AccentTextFillColorPrimaryBrush}"
BorderThickness="0" BorderThickness="0"
Click="ResetViewButton_Clicked"> FontSize="12"
Click="ResetViewButton_Clicked"
Content="{utils:ResourceString Name=ResetViewButton/Content}">
<HyperlinkButton.Resources> <HyperlinkButton.Resources>
<ResourceDictionary> <ResourceDictionary>
<StaticResource x:Key="HyperlinkButtonBackgroundPointerOver" ResourceKey="SubtleFillColorTransparentBrush"/> <StaticResource x:Key="HyperlinkButtonBackgroundPointerOver" ResourceKey="SubtleFillColorTransparentBrush"/>
@ -151,73 +152,73 @@
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<TextBox x:Name="SettingsXMin" <TextBox x:Name="SettingsXMin"
x:Uid="GraphSettingsXMin"
MaxWidth="160" MaxWidth="160"
Style="{x:Bind SelectTextBoxStyle(ViewModel.XError, ViewModel.XMinError), Mode=OneWay}" Style="{x:Bind SelectTextBoxStyle(ViewModel.XError, ViewModel.XMinError), Mode=OneWay}"
contract7Present:CornerRadius="{ThemeResource ControlCornerRadius}" contract7Present:CornerRadius="{ThemeResource ControlCornerRadius}"
Header="{utils:ResourceString Name=GraphSettingsXMin/Header}"
HeaderTemplate="{StaticResource XYTextBoxHeaderTemplate}" HeaderTemplate="{StaticResource XYTextBoxHeaderTemplate}"
PreviewKeyDown="GridSettingsTextBox_PreviewKeyDown" PreviewKeyDown="GridSettingsTextBox_PreviewKeyDown"
Text="{x:Bind ViewModel.XMin, Mode=TwoWay}"/> Text="{x:Bind ViewModel.XMin, Mode=TwoWay}"/>
<TextBox x:Name="SettingsXMax" <TextBox x:Name="SettingsXMax"
x:Uid="GraphSettingsXMax"
Grid.Column="2" Grid.Column="2"
MaxWidth="160" MaxWidth="160"
Style="{x:Bind SelectTextBoxStyle(ViewModel.XError, ViewModel.XMaxError), Mode=OneWay}" Style="{x:Bind SelectTextBoxStyle(ViewModel.XError, ViewModel.XMaxError), Mode=OneWay}"
contract7Present:CornerRadius="{ThemeResource ControlCornerRadius}" contract7Present:CornerRadius="{ThemeResource ControlCornerRadius}"
Header="{utils:ResourceString Name=GraphSettingsXMax/Header}"
HeaderTemplate="{StaticResource XYTextBoxHeaderTemplate}" HeaderTemplate="{StaticResource XYTextBoxHeaderTemplate}"
PreviewKeyDown="GridSettingsTextBox_PreviewKeyDown" PreviewKeyDown="GridSettingsTextBox_PreviewKeyDown"
Text="{x:Bind ViewModel.XMax, Mode=TwoWay}"/> Text="{x:Bind ViewModel.XMax, Mode=TwoWay}"/>
<TextBox x:Name="SettingsYMin" <TextBox x:Name="SettingsYMin"
x:Uid="GraphSettingsYMin"
Grid.Row="2" Grid.Row="2"
MaxWidth="160" MaxWidth="160"
Style="{x:Bind SelectTextBoxStyle(ViewModel.YError, ViewModel.YMinError), Mode=OneWay}" Style="{x:Bind SelectTextBoxStyle(ViewModel.YError, ViewModel.YMinError), Mode=OneWay}"
contract7Present:CornerRadius="{ThemeResource ControlCornerRadius}" contract7Present:CornerRadius="{ThemeResource ControlCornerRadius}"
Header="{utils:ResourceString Name=GraphSettingsYMin/Header}"
HeaderTemplate="{StaticResource XYTextBoxHeaderTemplate}" HeaderTemplate="{StaticResource XYTextBoxHeaderTemplate}"
PreviewKeyDown="GridSettingsTextBox_PreviewKeyDown" PreviewKeyDown="GridSettingsTextBox_PreviewKeyDown"
Text="{x:Bind ViewModel.YMin, Mode=TwoWay}"/> Text="{x:Bind ViewModel.YMin, Mode=TwoWay}"/>
<TextBox x:Name="SettingsYMax" <TextBox x:Name="SettingsYMax"
x:Uid="GraphSettingsYMax"
Grid.Row="2" Grid.Row="2"
Grid.Column="2" Grid.Column="2"
MaxWidth="160" MaxWidth="160"
Style="{x:Bind SelectTextBoxStyle(ViewModel.YError, ViewModel.YMaxError), Mode=OneWay}" Style="{x:Bind SelectTextBoxStyle(ViewModel.YError, ViewModel.YMaxError), Mode=OneWay}"
contract7Present:CornerRadius="{ThemeResource ControlCornerRadius}" contract7Present:CornerRadius="{ThemeResource ControlCornerRadius}"
Header="{utils:ResourceString Name=GraphSettingsYMax/Header}"
HeaderTemplate="{StaticResource XYTextBoxHeaderTemplate}" HeaderTemplate="{StaticResource XYTextBoxHeaderTemplate}"
PreviewKeyDown="GridSettingsTextBox_PreviewKeyDown" PreviewKeyDown="GridSettingsTextBox_PreviewKeyDown"
Text="{x:Bind ViewModel.YMax, Mode=TwoWay}"/> Text="{x:Bind ViewModel.YMax, Mode=TwoWay}"/>
</Grid> </Grid>
<TextBlock x:Name="UnitsHeading" <TextBlock x:Name="UnitsHeading"
x:Uid="UnitsHeading"
Margin="0,16,0,6" Margin="0,16,0,6"
Style="{StaticResource SubTitleTextBoxStyle}" Style="{StaticResource SubTitleTextBoxStyle}"
AutomationProperties.HeadingLevel="Level2"/> AutomationProperties.HeadingLevel="Level2"
Text="{utils:ResourceString Name=UnitsHeading/Text}"/>
<StackPanel AutomationProperties.LabeledBy="{Binding ElementName=UnitsHeading}" Orientation="Horizontal"> <StackPanel AutomationProperties.LabeledBy="{Binding ElementName=UnitsHeading}" Orientation="Horizontal">
<RadioButton x:Name="Radians" <RadioButton x:Name="Radians"
x:Uid="TrigModeRadians"
Style="{StaticResource TrigUnitsRadioButtonStyle}" Style="{StaticResource TrigUnitsRadioButtonStyle}"
contract7Present:CornerRadius="{ThemeResource ControlCornerRadius}" contract7Present:CornerRadius="{ThemeResource ControlCornerRadius}"
Content="{utils:ResourceString Name=TrigModeRadians/Content}"
IsChecked="{x:Bind ViewModel.TrigModeRadians, Mode=TwoWay}"/> IsChecked="{x:Bind ViewModel.TrigModeRadians, Mode=TwoWay}"/>
<RadioButton x:Name="Degrees" <RadioButton x:Name="Degrees"
x:Uid="TrigModeDegrees"
Margin="4,0" Margin="4,0"
Style="{StaticResource TrigUnitsRadioButtonStyle}" Style="{StaticResource TrigUnitsRadioButtonStyle}"
contract7Present:CornerRadius="{ThemeResource ControlCornerRadius}" contract7Present:CornerRadius="{ThemeResource ControlCornerRadius}"
Content="{utils:ResourceString Name=TrigModeDegrees/Content}"
IsChecked="{x:Bind ViewModel.TrigModeDegrees, Mode=TwoWay}"/> IsChecked="{x:Bind ViewModel.TrigModeDegrees, Mode=TwoWay}"/>
<RadioButton x:Name="Gradians" <RadioButton x:Name="Gradians"
x:Uid="TrigModeGradians"
Style="{StaticResource TrigUnitsRadioButtonStyle}" Style="{StaticResource TrigUnitsRadioButtonStyle}"
contract7Present:CornerRadius="{ThemeResource ControlCornerRadius}" contract7Present:CornerRadius="{ThemeResource ControlCornerRadius}"
Content="{utils:ResourceString Name=TrigModeGradians/Content}"
IsChecked="{x:Bind ViewModel.TrigModeGradians, Mode=TwoWay}"/> IsChecked="{x:Bind ViewModel.TrigModeGradians, Mode=TwoWay}"/>
</StackPanel> </StackPanel>
<TextBlock x:Name="LineThicknessBoxHeading" <TextBlock x:Name="LineThicknessBoxHeading"
x:Uid="LineThicknessBoxHeading"
Margin="0,16,0,6" Margin="0,16,0,6"
Style="{StaticResource SubTitleTextBoxStyle}" Style="{StaticResource SubTitleTextBoxStyle}"
AutomationProperties.HeadingLevel="Level2"/> AutomationProperties.HeadingLevel="Level2"
Text="{utils:ResourceString Name=LineThicknessBoxHeading/Text}"/>
<ComboBox MinWidth="200" <ComboBox MinWidth="200"
HorizontalAlignment="Stretch" HorizontalAlignment="Stretch"
AutomationProperties.LabeledBy="{Binding ElementName=LineThicknessBoxHeading}" AutomationProperties.LabeledBy="{Binding ElementName=LineThicknessBoxHeading}"
@ -246,15 +247,19 @@
</ComboBox.ItemTemplate> </ComboBox.ItemTemplate>
</ComboBox> </ComboBox>
<TextBlock x:Name="GraphThemeHeading" <TextBlock x:Name="GraphThemeHeading"
x:Uid="GraphThemeHeading"
Margin="0,16,0,6" Margin="0,16,0,6"
Style="{StaticResource SubTitleTextBoxStyle}" Style="{StaticResource SubTitleTextBoxStyle}"
AutomationProperties.HeadingLevel="Level2"/> AutomationProperties.HeadingLevel="Level2"
AutomationProperties.Name="{utils:ResourceString Name=GraphThemeHeading/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
Text="{utils:ResourceString Name=GraphThemeHeading/Text}"/>
<StackPanel AutomationProperties.LabeledBy="{Binding ElementName=GraphThemeHeading}"> <StackPanel AutomationProperties.LabeledBy="{Binding ElementName=GraphThemeHeading}">
<RadioButton x:Uid="AlwaysLightTheme" IsChecked="{x:Bind IsMatchAppTheme, Mode=TwoWay, Converter={StaticResource BooleanNegationConverter}}"/> <RadioButton AutomationProperties.Name="{utils:ResourceString Name=AlwaysLightTheme/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
<RadioButton x:Uid="MatchAppTheme" Content="{utils:ResourceString Name=AlwaysLightTheme/Content}"
Margin="1,0" IsChecked="{x:Bind IsMatchAppTheme, Mode=TwoWay, Converter={StaticResource BooleanNegationConverter}}"/>
<RadioButton Margin="1,0"
AutomationProperties.Name="{utils:ResourceString Name=MatchAppTheme/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
Content="{utils:ResourceString Name=MatchAppTheme/Content}"
IsChecked="{x:Bind IsMatchAppTheme, Mode=TwoWay}"/> IsChecked="{x:Bind IsMatchAppTheme, Mode=TwoWay}"/>
</StackPanel> </StackPanel>
</StackPanel> </StackPanel>

View file

@ -8,6 +8,7 @@
xmlns:local="using:CalculatorApp" xmlns:local="using:CalculatorApp"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:ts="using:CalculatorApp.TemplateSelectors" xmlns:ts="using:CalculatorApp.TemplateSelectors"
xmlns:utils="using:CalculatorApp.Utils"
xmlns:vm="using:CalculatorApp.ViewModel" xmlns:vm="using:CalculatorApp.ViewModel"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}" Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"
mc:Ignorable="d"> mc:Ignorable="d">
@ -221,7 +222,7 @@
</ResourceDictionary> </ResourceDictionary>
</UserControl.Resources> </UserControl.Resources>
<Grid x:Uid="FunctionAnalysisGrid"> <Grid AutomationProperties.Name="{utils:ResourceString Name=FunctionAnalysisGrid/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}">
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/>
@ -235,12 +236,13 @@
<ColumnDefinition Width="*"/> <ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<Button x:Name="BackButton" <Button x:Name="BackButton"
x:Uid="equationAnalysisBack"
MinWidth="44" MinWidth="44"
VerticalAlignment="Stretch" VerticalAlignment="Stretch"
Style="{ThemeResource ThemedBackButtonStyle}" Style="{ThemeResource ThemedBackButtonStyle}"
contract7Present:CornerRadius="{ThemeResource ControlCornerRadius}" contract7Present:CornerRadius="{ThemeResource ControlCornerRadius}"
Click="BackButton_Click"> AutomationProperties.Name="{utils:ResourceString Name=equationAnalysisBack/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
Click="BackButton_Click"
ToolTipService.ToolTip="{utils:ResourceString Name=equationAnalysisBack/[using:Windows.UI.Xaml.Controls]ToolTipService/ToolTip}">
<StackPanel Margin="5,0" <StackPanel Margin="5,0"
HorizontalAlignment="Center" HorizontalAlignment="Center"
VerticalAlignment="Center" VerticalAlignment="Center"
@ -249,31 +251,31 @@
VerticalAlignment="Center" VerticalAlignment="Center"
FontFamily="{StaticResource CalculatorFontFamily}" FontFamily="{StaticResource CalculatorFontFamily}"
FontSize="16" FontSize="16"
Glyph="&#xE72B;"/> Glyph=""/>
<StackPanel FlowDirection="LeftToRight" Orientation="Horizontal"> <StackPanel FlowDirection="LeftToRight" Orientation="Horizontal">
<FontIcon FontFamily="{StaticResource CalculatorFontFamily}" Glyph="&#xF893;"/> <FontIcon FontFamily="{StaticResource CalculatorFontFamily}" Glyph=""/>
<TextBlock Margin="-5,19,0,0" <TextBlock Margin="-5,19,0,0"
FontSize="11" FontSize="11"
Text="{x:Bind ViewModel.FunctionLabelIndex}"/> Text="{x:Bind ViewModel.FunctionLabelIndex}"/>
</StackPanel> </StackPanel>
</StackPanel> </StackPanel>
</Button> </Button>
<controls:MathRichEditBox x:Uid="KGFEquationTextBox" <controls:MathRichEditBox Grid.Column="1"
Grid.Column="1"
Padding="10,0,6,0" Padding="10,0,6,0"
VerticalAlignment="Stretch" VerticalAlignment="Stretch"
VerticalContentAlignment="Center" VerticalContentAlignment="Center"
Style="{StaticResource KGF_RichEditBoxStyle}" Style="{StaticResource KGF_RichEditBoxStyle}"
Foreground="{ThemeResource TitleMathRichEditBoxForegroundBrush}" Foreground="{ThemeResource TitleMathRichEditBoxForegroundBrush}"
AutomationProperties.Name="{utils:ResourceString Name=KGFEquationTextBox/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
MathText="{x:Bind ViewModel.Expression, Mode=OneWay}"/> MathText="{x:Bind ViewModel.Expression, Mode=OneWay}"/>
</Grid> </Grid>
<TextBlock x:Uid="KeyGraphFeaturesLabel" <TextBlock Grid.Row="1"
Grid.Row="1"
Margin="12,12,10,0" Margin="12,12,10,0"
Style="{StaticResource KGF_TitleTextBlockStyle}" Style="{StaticResource KGF_TitleTextBlockStyle}"
FontSize="20" FontSize="20"
FontWeight="Medium" FontWeight="Medium"
AutomationProperties.HeadingLevel="Level1"/> AutomationProperties.HeadingLevel="Level1"
Text="{utils:ResourceString Name=KeyGraphFeaturesLabel/Text}"/>
<ListView x:Name="KeyGraphFeaturesListView" <ListView x:Name="KeyGraphFeaturesListView"
Grid.Row="2" Grid.Row="2"

View file

@ -8,6 +8,7 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:model="using:CalculatorApp.ViewModel" xmlns:model="using:CalculatorApp.ViewModel"
xmlns:muxc="using:Microsoft.UI.Xaml.Controls" xmlns:muxc="using:Microsoft.UI.Xaml.Controls"
xmlns:utils="using:CalculatorApp.Utils"
AutomationProperties.AutomationId="HistoryList" AutomationProperties.AutomationId="HistoryList"
FlowDirection="LeftToRight" FlowDirection="LeftToRight"
mc:Ignorable="d"> mc:Ignorable="d">
@ -42,18 +43,20 @@
<muxc:SymbolIconSource x:Key="DeleteSymbol" Symbol="Delete"/> <muxc:SymbolIconSource x:Key="DeleteSymbol" Symbol="Delete"/>
<muxc:SwipeItems x:Key="HistorySwipeItems" Mode="Execute"> <muxc:SwipeItems x:Key="HistorySwipeItems" Mode="Execute">
<muxc:SwipeItem x:Uid="DeleteHistorySwipeItem" <muxc:SwipeItem AutomationProperties.Name="{utils:ResourceString Name=DeleteHistorySwipeItem/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
IconSource="{StaticResource DeleteSymbol}" IconSource="{StaticResource DeleteSymbol}"
Invoked="OnDeleteSwipeInvoked"/> Invoked="OnDeleteSwipeInvoked"
Text="{utils:ResourceString Name=DeleteHistorySwipeItem/Text}"/>
</muxc:SwipeItems> </muxc:SwipeItems>
<MenuFlyout x:Name="HistoryContextMenu"> <MenuFlyout x:Name="HistoryContextMenu">
<MenuFlyoutItem x:Uid="CopyHistoryMenuItem" <MenuFlyoutItem Click="OnCopyMenuItemClicked"
Click="OnCopyMenuItemClicked" Icon="Copy"
Icon="Copy"/> Text="{utils:ResourceString Name=CopyHistoryMenuItem/Text}"/>
<MenuFlyoutItem x:Uid="DeleteHistoryMenuItem" <MenuFlyoutItem AutomationProperties.Name="{utils:ResourceString Name=DeleteHistoryMenuItem/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
Click="OnDeleteMenuItemClicked" Click="OnDeleteMenuItemClicked"
Icon="Delete"/> Icon="Delete"
Text="{utils:ResourceString Name=DeleteHistoryMenuItem/Text}"/>
</MenuFlyout> </MenuFlyout>
<DataTemplate x:Key="HistoryItemTemplate" x:DataType="model:HistoryItemViewModel"> <DataTemplate x:Key="HistoryItemTemplate" x:DataType="model:HistoryItemViewModel">
@ -133,10 +136,10 @@
<RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<TextBlock x:Name="HistoryEmpty" <TextBlock x:Name="HistoryEmpty"
x:Uid="HistoryEmpty"
Margin="12,8,24,0" Margin="12,8,24,0"
Style="{ThemeResource BodyTextBlockStyle}" Style="{ThemeResource BodyTextBlockStyle}"
Foreground="{ThemeResource TextFillColorPrimaryBrush}" Foreground="{ThemeResource TextFillColorPrimaryBrush}"
Text="{utils:ResourceString Name=HistoryEmpty/Text}"
TextWrapping="Wrap" TextWrapping="Wrap"
Visibility="{x:Bind Model.ItemsCount, Converter={StaticResource ItemSizeToVisibilityConverter}, Mode=OneWay}"/> Visibility="{x:Bind Model.ItemsCount, Converter={StaticResource ItemSizeToVisibilityConverter}, Mode=OneWay}"/>
<ListView x:Name="HistoryListView" <ListView x:Name="HistoryListView"
@ -161,13 +164,17 @@
</TransitionCollection> </TransitionCollection>
</ListView.ItemContainerTransitions> </ListView.ItemContainerTransitions>
</ListView> </ListView>
<Button x:Name="ClearHistory" <Button xmlns:d4p1="using:CalculatorApp.Common"
x:Uid="ClearHistory" x:Name="ClearHistory"
Grid.Row="1" Grid.Row="1"
Style="{StaticResource ClearAllHistoryMemoryButtonStyle}" Style="{StaticResource ClearAllHistoryMemoryButtonStyle}"
d4p1:KeyboardShortcutManager.VirtualKeyControlShiftChord="{utils:ResourceVirtualKey Name=ClearHistory/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKeyControlShiftChord}"
AccessKey="{utils:ResourceString Name=ClearHistory/AccessKey}"
AutomationProperties.AutomationId="ClearHistory" AutomationProperties.AutomationId="ClearHistory"
AutomationProperties.Name="{utils:ResourceString Name=ClearHistory/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
Command="{x:Bind Model.ClearCommand, Mode=OneWay}" Command="{x:Bind Model.ClearCommand, Mode=OneWay}"
Content="&#xE74D;" Content=""
ToolTipService.ToolTip="{utils:ResourceString Name=ClearHistory/[using:Windows.UI.Xaml.Controls]ToolTipService/ToolTip}"
Visibility="{x:Bind Model.ItemsCount, Mode=OneWay, Converter={StaticResource ItemSizeToVisibilityNegationConverter}}"/> Visibility="{x:Bind Model.ItemsCount, Mode=OneWay, Converter={StaticResource ItemSizeToVisibilityNegationConverter}}"/>
</Grid> </Grid>
</Grid> </Grid>

View file

@ -2,12 +2,14 @@
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:automation="using:CalculatorApp.ViewModel.Common.Automation" xmlns:automation="using:CalculatorApp.ViewModel.Common.Automation"
xmlns:common="using:CalculatorApp.Common"
xmlns:converters="using:CalculatorApp.Converters" xmlns:converters="using:CalculatorApp.Converters"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="using:CalculatorApp" xmlns:local="using:CalculatorApp"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:muxc="using:Microsoft.UI.Xaml.Controls" xmlns:muxc="using:Microsoft.UI.Xaml.Controls"
xmlns:selectors="using:CalculatorApp.TemplateSelectors" xmlns:selectors="using:CalculatorApp.TemplateSelectors"
xmlns:utils="using:CalculatorApp.Utils"
xmlns:vmcom="using:CalculatorApp.ViewModel.Common" xmlns:vmcom="using:CalculatorApp.ViewModel.Common"
x:Name="PageRoot" x:Name="PageRoot"
muxc:BackdropMaterial.ApplyToRootOrPageBackground="True" muxc:BackdropMaterial.ApplyToRootOrPageBackground="True"
@ -28,26 +30,26 @@
<Setter Property="KeyTipPlacementMode" Value="Right"/> <Setter Property="KeyTipPlacementMode" Value="Right"/>
</Style> </Style>
<DataTemplate x:Key="NavViewCategoryItemDataTemplate" x:DataType="vmcom:NavCategory"> <DataTemplate x:Key="NavViewCategoryItemDataTemplate" x:DataType="vmcom:NavCategory">
<muxc:NavigationViewItem Content="{x:Bind Name}" <muxc:NavigationViewItem Style="{StaticResource NavViewItemStyle}"
Tag="{x:Bind ViewMode}"
AccessKey="{x:Bind AccessKey}" AccessKey="{x:Bind AccessKey}"
IsEnabled="{x:Bind IsEnabled, Mode=OneWay}" AutomationProperties.AutomationId="{x:Bind AutomationId}"
Style="{StaticResource NavViewItemStyle}"
AutomationProperties.Name="{x:Bind AutomationName}" AutomationProperties.Name="{x:Bind AutomationName}"
AutomationProperties.AutomationId="{x:Bind AutomationId}"> Content="{x:Bind Name}"
Tag="{x:Bind ViewMode}"
IsEnabled="{x:Bind IsEnabled, Mode=OneWay}">
<muxc:NavigationViewItem.Icon> <muxc:NavigationViewItem.Icon>
<FontIcon FontFamily="{StaticResource CalculatorFontFamily}" Glyph="{x:Bind Glyph}"/> <FontIcon FontFamily="{StaticResource CalculatorFontFamily}" Glyph="{x:Bind Glyph}"/>
</muxc:NavigationViewItem.Icon> </muxc:NavigationViewItem.Icon>
</muxc:NavigationViewItem> </muxc:NavigationViewItem>
</DataTemplate> </DataTemplate>
<DataTemplate x:Key="NavViewCategoryGroupItemDataTemplate" x:DataType="vmcom:NavCategoryGroup"> <DataTemplate x:Key="NavViewCategoryGroupItemDataTemplate" x:DataType="vmcom:NavCategoryGroup">
<muxc:NavigationViewItemHeader Content="{x:Bind Name}" <muxc:NavigationViewItemHeader AutomationProperties.HeadingLevel="Level1"
AutomationProperties.Name="{x:Bind AutomationName}" AutomationProperties.Name="{x:Bind AutomationName}"
AutomationProperties.HeadingLevel="Level1"/> Content="{x:Bind Name}"/>
</DataTemplate> </DataTemplate>
<selectors:NavViewMenuItemTemplateSelector x:Key="NavViewMenuItemTemplateSelector" <selectors:NavViewMenuItemTemplateSelector x:Key="NavViewMenuItemTemplateSelector"
CategoryItemTemplate="{StaticResource NavViewCategoryItemDataTemplate}" CategoryGroupItemTemplate="{StaticResource NavViewCategoryGroupItemDataTemplate}"
CategoryGroupItemTemplate="{StaticResource NavViewCategoryGroupItemDataTemplate}"/> CategoryItemTemplate="{StaticResource NavViewCategoryItemDataTemplate}"/>
<converters:BooleanToVisibilityNegationConverter x:Key="BooleanToVisibilityNegationConverter"/> <converters:BooleanToVisibilityNegationConverter x:Key="BooleanToVisibilityNegationConverter"/>
<converters:BooleanNegationConverter x:Key="BooleanNegationConverter"/> <converters:BooleanNegationConverter x:Key="BooleanNegationConverter"/>
@ -89,16 +91,16 @@
they are not to be shown, only to have the command and shortcut assigned to them. they are not to be shown, only to have the command and shortcut assigned to them.
--> -->
<Button x:Name="CopyButton" <Button x:Name="CopyButton"
x:Uid="copyButton" common:KeyboardShortcutManager.VirtualKeyControlChord="{utils:ResourceVirtualKey Name=copyButton/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKeyControlChord}"
Command="{x:Bind Model.CopyCommand}"/> Command="{x:Bind Model.CopyCommand}"/>
<Button x:Name="PasteButton" <Button x:Name="PasteButton"
x:Uid="pasteButton" common:KeyboardShortcutManager.VirtualKeyControlChord="{utils:ResourceVirtualKey Name=pasteButton/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKeyControlChord}"
Command="{x:Bind Model.PasteCommand}"/> Command="{x:Bind Model.PasteCommand}"/>
<Button x:Name="CopyButtonAlternate" <Button x:Name="CopyButtonAlternate"
x:Uid="copyButtonAlternate" common:KeyboardShortcutManager.VirtualKeyControlChord="{utils:ResourceVirtualKey Name=copyButtonAlternate/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKeyControlChord}"
Command="{x:Bind Model.CopyCommand}"/> Command="{x:Bind Model.CopyCommand}"/>
<Button x:Name="PasteButtonAlternate" <Button x:Name="PasteButtonAlternate"
x:Uid="pasteButtonAlternate" common:KeyboardShortcutManager.VirtualKeyShiftChord="{utils:ResourceVirtualKey Name=pasteButtonAlternate/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKeyShiftChord}"
Command="{x:Bind Model.PasteCommand}"/> Command="{x:Bind Model.PasteCommand}"/>
</StackPanel> </StackPanel>
@ -109,8 +111,8 @@
IsAlwaysOnTopMode="{x:Bind Model.IsAlwaysOnTop, Mode=OneWay}"/> IsAlwaysOnTopMode="{x:Bind Model.IsAlwaysOnTop, Mode=OneWay}"/>
<muxc:NavigationView x:Name="NavView" <muxc:NavigationView x:Name="NavView"
x:Uid="NavView"
Grid.Row="1" Grid.Row="1"
AccessKey="{utils:ResourceString Name=NavView/AccessKey}"
CompactModeThresholdWidth="Infinity" CompactModeThresholdWidth="Infinity"
DataContext="{x:Bind Model}" DataContext="{x:Bind Model}"
ExpandedModeThresholdWidth="Infinity" ExpandedModeThresholdWidth="Infinity"
@ -119,11 +121,11 @@
IsSettingsVisible="True" IsSettingsVisible="True"
ItemInvoked="OnNavItemInvoked" ItemInvoked="OnNavItemInvoked"
Loaded="OnNavLoaded" Loaded="OnNavLoaded"
MenuItemsSource="{x:Bind NavViewCategoriesSource, Mode=OneWay}"
MenuItemTemplateSelector="{StaticResource NavViewMenuItemTemplateSelector}" MenuItemTemplateSelector="{StaticResource NavViewMenuItemTemplateSelector}"
MenuItemsSource="{x:Bind NavViewCategoriesSource, Mode=OneWay}"
OpenPaneLength="{x:Bind NavigationViewOpenPaneLength(Model.IsAlwaysOnTop), Mode=OneWay}" OpenPaneLength="{x:Bind NavigationViewOpenPaneLength(Model.IsAlwaysOnTop), Mode=OneWay}"
PaneDisplayMode="LeftMinimal"
PaneClosed="OnNavPaneClosed" PaneClosed="OnNavPaneClosed"
PaneDisplayMode="LeftMinimal"
PaneOpened="OnNavPaneOpened" PaneOpened="OnNavPaneOpened"
SelectionChanged="OnNavSelectionChanged" SelectionChanged="OnNavSelectionChanged"
TabIndex="1" TabIndex="1"
@ -161,13 +163,14 @@
Visibility="{x:Bind Model.IsAlwaysOnTop, Converter={StaticResource BooleanToVisibilityNegationConverter}, Mode=OneWay}"/> Visibility="{x:Bind Model.IsAlwaysOnTop, Converter={StaticResource BooleanToVisibilityNegationConverter}, Mode=OneWay}"/>
<Button x:Name="NormalAlwaysOnTopButton" <Button x:Name="NormalAlwaysOnTopButton"
x:Uid="EnterAlwaysOnTopButton"
Grid.Column="2" Grid.Column="2"
Style="{StaticResource SquareIconButtonStyle}" Style="{StaticResource SquareIconButtonStyle}"
AutomationProperties.AutomationId="NormalAlwaysOnTopButton" AutomationProperties.AutomationId="NormalAlwaysOnTopButton"
AutomationProperties.Name="{utils:ResourceString Name=EnterAlwaysOnTopButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
Click="AlwaysOnTopButtonClick" Click="AlwaysOnTopButtonClick"
Content="&#xEE49;" Content=""
TabIndex="3" TabIndex="3"
ToolTipService.ToolTip="{utils:ResourceString Name=EnterAlwaysOnTopButton/[using:Windows.UI.Xaml.Controls]ToolTipService/ToolTip}"
Visibility="{x:Bind Model.DisplayNormalAlwaysOnTopOption, Mode=OneWay}"> Visibility="{x:Bind Model.DisplayNormalAlwaysOnTopOption, Mode=OneWay}">
<Button.KeyboardAccelerators> <Button.KeyboardAccelerators>
<KeyboardAccelerator Key="Up" Modifiers="Menu"/> <KeyboardAccelerator Key="Up" Modifiers="Menu"/>

View file

@ -8,6 +8,7 @@
xmlns:local="using:CalculatorApp" xmlns:local="using:CalculatorApp"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:model="using:CalculatorApp.ViewModel" xmlns:model="using:CalculatorApp.ViewModel"
xmlns:utils="using:CalculatorApp.Utils"
x:Name="MemoryList" x:Name="MemoryList"
FlowDirection="LeftToRight" FlowDirection="LeftToRight"
mc:Ignorable="d"> mc:Ignorable="d">
@ -18,19 +19,19 @@
<converters:BooleanNegationConverter x:Key="BooleanNegationConverter"/> <converters:BooleanNegationConverter x:Key="BooleanNegationConverter"/>
<MenuFlyout x:Name="MemoryContextMenu"> <MenuFlyout x:Name="MemoryContextMenu">
<MenuFlyoutItem x:Uid="ClearMemoryMenuItem" Click="OnClearMenuItemClicked"> <MenuFlyoutItem Click="OnClearMenuItemClicked" Text="{utils:ResourceString Name=ClearMemoryMenuItem/Text}">
<MenuFlyoutItem.Icon> <MenuFlyoutItem.Icon>
<FontIcon FontFamily="{StaticResource CalculatorFontFamily}" Glyph="&#xf754;"/> <FontIcon FontFamily="{StaticResource CalculatorFontFamily}" Glyph=""/>
</MenuFlyoutItem.Icon> </MenuFlyoutItem.Icon>
</MenuFlyoutItem> </MenuFlyoutItem>
<MenuFlyoutItem x:Uid="MemPlusMenuItem" Click="OnMemoryAddMenuItemClicked"> <MenuFlyoutItem Click="OnMemoryAddMenuItemClicked" Text="{utils:ResourceString Name=MemPlusMenuItem/Text}">
<MenuFlyoutItem.Icon> <MenuFlyoutItem.Icon>
<FontIcon FontFamily="{StaticResource CalculatorFontFamily}" Glyph="&#xf757;"/> <FontIcon FontFamily="{StaticResource CalculatorFontFamily}" Glyph=""/>
</MenuFlyoutItem.Icon> </MenuFlyoutItem.Icon>
</MenuFlyoutItem> </MenuFlyoutItem>
<MenuFlyoutItem x:Uid="MemMinusMenuItem" Click="OnMemorySubtractMenuItemClicked"> <MenuFlyoutItem Click="OnMemorySubtractMenuItemClicked" Text="{utils:ResourceString Name=MemMinusMenuItem/Text}">
<MenuFlyoutItem.Icon> <MenuFlyoutItem.Icon>
<FontIcon FontFamily="{StaticResource CalculatorFontFamily}" Glyph="&#xf758;"/> <FontIcon FontFamily="{StaticResource CalculatorFontFamily}" Glyph=""/>
</MenuFlyoutItem.Icon> </MenuFlyoutItem.Icon>
</MenuFlyoutItem> </MenuFlyoutItem>
</MenuFlyout> </MenuFlyout>
@ -96,10 +97,10 @@
<RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<TextBlock x:Name="MemoryPaneEmpty" <TextBlock x:Name="MemoryPaneEmpty"
x:Uid="MemoryPaneEmpty"
Margin="12,8,24,0" Margin="12,8,24,0"
Style="{ThemeResource BodyTextBlockStyle}" Style="{ThemeResource BodyTextBlockStyle}"
Foreground="{ThemeResource TextFillColorPrimaryBrush}" Foreground="{ThemeResource TextFillColorPrimaryBrush}"
Text="{utils:ResourceString Name=MemoryPaneEmpty/Text}"
TextWrapping="Wrap" TextWrapping="Wrap"
Visibility="{Binding IsMemoryEmpty, Converter={StaticResource BooleanToVisibilityConverter}}"/> Visibility="{Binding IsMemoryEmpty, Converter={StaticResource BooleanToVisibilityConverter}}"/>
<ListView x:Name="MemoryListView" <ListView x:Name="MemoryListView"
@ -123,12 +124,14 @@
</ListView.ItemContainerTransitions> </ListView.ItemContainerTransitions>
</ListView> </ListView>
<Button x:Name="ClearMemory" <Button x:Name="ClearMemory"
x:Uid="ClearMemory"
Grid.Row="1" Grid.Row="1"
Style="{ThemeResource ClearAllHistoryMemoryButtonStyle}" Style="{ThemeResource ClearAllHistoryMemoryButtonStyle}"
AccessKey="{utils:ResourceString Name=ClearMemory/AccessKey}"
AutomationProperties.AutomationId="ClearMemory" AutomationProperties.AutomationId="ClearMemory"
AutomationProperties.Name="{utils:ResourceString Name=ClearMemory/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
Command="{x:Bind Model.ClearMemoryCommand, Mode=OneWay}" Command="{x:Bind Model.ClearMemoryCommand, Mode=OneWay}"
Content="&#xE74D;" Content=""
ToolTipService.ToolTip="{utils:ResourceString Name=ClearMemory/[using:Windows.UI.Xaml.Controls]ToolTipService/ToolTip}"
Visibility="{x:Bind Model.IsMemoryEmpty, Mode=OneWay, Converter={StaticResource BooleanToVisibilityNegationConverter}}"/> Visibility="{x:Bind Model.IsMemoryEmpty, Mode=OneWay, Converter={StaticResource BooleanToVisibilityNegationConverter}}"/>
</Grid> </Grid>

View file

@ -4,30 +4,31 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:muxc="using:Microsoft.UI.Xaml.Controls" xmlns:muxc="using:Microsoft.UI.Xaml.Controls"
xmlns:utils="using:CalculatorApp.Utils"
FlowDirection="LeftToRight" FlowDirection="LeftToRight"
mc:Ignorable="d"> mc:Ignorable="d">
<UserControl.Resources> <UserControl.Resources>
<muxc:FontIconSource x:Key="MemClearGlyph" <muxc:FontIconSource x:Key="MemClearGlyph"
FontFamily="{StaticResource CalculatorFontFamily}" FontFamily="{StaticResource CalculatorFontFamily}"
Glyph="&#xf754;"/> Glyph=""/>
<muxc:FontIconSource x:Key="MemPlusGlyph" <muxc:FontIconSource x:Key="MemPlusGlyph"
FontFamily="{StaticResource CalculatorFontFamily}" FontFamily="{StaticResource CalculatorFontFamily}"
Glyph="&#xf757;"/> Glyph=""/>
<muxc:FontIconSource x:Key="MemMinusGlyph" <muxc:FontIconSource x:Key="MemMinusGlyph"
FontFamily="{StaticResource CalculatorFontFamily}" FontFamily="{StaticResource CalculatorFontFamily}"
Glyph="&#xf758;"/> Glyph=""/>
<muxc:SwipeItems x:Key="MemorySwipeItems" Mode="Reveal"> <muxc:SwipeItems x:Key="MemorySwipeItems" Mode="Reveal">
<muxc:SwipeItem x:Uid="ClearMemorySwipeItem" <muxc:SwipeItem Background="{ThemeResource SystemControlBackgroundAccentBrush}"
Background="{ThemeResource SystemControlBackgroundAccentBrush}" AutomationProperties.Name="{utils:ResourceString Name=ClearMemorySwipeItem/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
IconSource="{StaticResource MemClearGlyph}" IconSource="{StaticResource MemClearGlyph}"
Invoked="OnClearSwipeInvoked"/> Invoked="OnClearSwipeInvoked"/>
<muxc:SwipeItem x:Uid="MemPlusSwipeItem" <muxc:SwipeItem Background="{ThemeResource SystemControlBackgroundAccentBrush}"
Background="{ThemeResource SystemControlBackgroundAccentBrush}" AutomationProperties.Name="{utils:ResourceString Name=MemPlusSwipeItem/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
IconSource="{StaticResource MemPlusGlyph}" IconSource="{StaticResource MemPlusGlyph}"
Invoked="OnMemoryAddSwipeInvoked"/> Invoked="OnMemoryAddSwipeInvoked"/>
<muxc:SwipeItem x:Uid="MemMinusSwipeItem" <muxc:SwipeItem Background="{ThemeResource SystemControlBackgroundAccentBrush}"
Background="{ThemeResource SystemControlBackgroundAccentBrush}" AutomationProperties.Name="{utils:ResourceString Name=MemMinusSwipeItem/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
IconSource="{StaticResource MemMinusGlyph}" IconSource="{StaticResource MemMinusGlyph}"
Invoked="OnMemorySubtractSwipeInvoked"/> Invoked="OnMemorySubtractSwipeInvoked"/>
</muxc:SwipeItems> </muxc:SwipeItems>
@ -70,24 +71,27 @@
<ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<Button x:Uid="ClearMemoryItemButton" <Button Style="{StaticResource MemoryHoverButtonStyle}"
Style="{StaticResource MemoryHoverButtonStyle}"
AutomationProperties.AutomationId="MClearButton" AutomationProperties.AutomationId="MClearButton"
AutomationProperties.Name="{utils:ResourceString Name=ClearMemoryItemButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
Click="OnClearButtonClicked" Click="OnClearButtonClicked"
Content="MC"/> Content="MC"
<Button x:Uid="MemPlusItem" ToolTipService.ToolTip="{utils:ResourceString Name=ClearMemoryItemButton/[using:Windows.UI.Xaml.Controls]ToolTipService/ToolTip}"/>
Grid.Column="1" <Button Grid.Column="1"
Margin="1,0" Margin="1,0"
Style="{StaticResource MemoryHoverButtonStyle}" Style="{StaticResource MemoryHoverButtonStyle}"
AutomationProperties.AutomationId="MAddButton" AutomationProperties.AutomationId="MAddButton"
AutomationProperties.Name="{utils:ResourceString Name=MemPlusItem/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
Click="OnMemoryAddButtonClicked" Click="OnMemoryAddButtonClicked"
Content="M+"/> Content="M+"
<Button x:Uid="MemMinusItem" ToolTipService.ToolTip="{utils:ResourceString Name=MemPlusItem/[using:Windows.UI.Xaml.Controls]ToolTipService/ToolTip}"/>
Grid.Column="2" <Button Grid.Column="2"
Style="{StaticResource MemoryHoverButtonStyle}" Style="{StaticResource MemoryHoverButtonStyle}"
AutomationProperties.AutomationId="MSubButton" AutomationProperties.AutomationId="MSubButton"
AutomationProperties.Name="{utils:ResourceString Name=MemMinusItem/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
Click="OnMemorySubtractButtonClicked" Click="OnMemorySubtractButtonClicked"
Content="M-"/> Content="M-"
ToolTipService.ToolTip="{utils:ResourceString Name=MemMinusItem/[using:Windows.UI.Xaml.Controls]ToolTipService/ToolTip}"/>
</Grid> </Grid>
</Grid> </Grid>
</muxc:SwipeControl> </muxc:SwipeControl>

View file

@ -1,4 +1,4 @@
<UserControl x:Class="CalculatorApp.NumberPad" <UserControl x:Class="CalculatorApp.NumberPad"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:common="using:CalculatorApp.Common" xmlns:common="using:CalculatorApp.Common"
@ -7,6 +7,7 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="using:CalculatorApp" xmlns:local="using:CalculatorApp"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:utils="using:CalculatorApp.Utils"
x:Name="ControlRoot" x:Name="ControlRoot"
d:DesignHeight="315" d:DesignHeight="315"
d:DesignWidth="235" d:DesignWidth="235"
@ -36,84 +37,86 @@
</VisualStateGroup> </VisualStateGroup>
</VisualStateManager.VisualStateGroups> </VisualStateManager.VisualStateGroups>
<controls:CalculatorButton x:Name="Num0Button" <controls:CalculatorButton x:Name="Num0Button"
x:Uid="num0Button"
Grid.Row="3" Grid.Row="3"
Grid.Column="1" Grid.Column="1"
Style="{x:Bind Path=ButtonStyle, Mode=OneWay}" Style="{x:Bind Path=ButtonStyle, Mode=OneWay}"
common:KeyboardShortcutManager.Character="{utils:ResourceString Name=num0Button/[using:CalculatorApp.Common]KeyboardShortcutManager/Character}"
AutomationProperties.AutomationId="num0Button" AutomationProperties.AutomationId="num0Button"
AutomationProperties.Name="{utils:ResourceString Name=num0Button/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="Zero"/> ButtonId="Zero"/>
<controls:CalculatorButton x:Name="Num1Button" <controls:CalculatorButton x:Name="Num1Button"
x:Uid="num1Button"
Grid.Row="2" Grid.Row="2"
Style="{x:Bind Path=ButtonStyle, Mode=OneWay}" Style="{x:Bind Path=ButtonStyle, Mode=OneWay}"
common:KeyboardShortcutManager.Character="{utils:ResourceString Name=num1Button/[using:CalculatorApp.Common]KeyboardShortcutManager/Character}"
AutomationProperties.AutomationId="num1Button" AutomationProperties.AutomationId="num1Button"
AutomationProperties.Name="{utils:ResourceString Name=num1Button/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="One"/> ButtonId="One"/>
<controls:CalculatorButton x:Name="Num2Button" <controls:CalculatorButton x:Name="Num2Button"
x:Uid="num2Button"
Grid.Row="2" Grid.Row="2"
Grid.Column="1" Grid.Column="1"
Style="{x:Bind Path=ButtonStyle, Mode=OneWay}" Style="{x:Bind Path=ButtonStyle, Mode=OneWay}"
common:KeyboardShortcutManager.Character="{utils:ResourceString Name=num2Button/[using:CalculatorApp.Common]KeyboardShortcutManager/Character}"
AutomationProperties.AutomationId="num2Button" AutomationProperties.AutomationId="num2Button"
AutomationProperties.Name="{utils:ResourceString Name=num2Button/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="Two"/> ButtonId="Two"/>
<controls:CalculatorButton x:Name="Num3Button" <controls:CalculatorButton x:Name="Num3Button"
x:Uid="num3Button"
Grid.Row="2" Grid.Row="2"
Grid.Column="2" Grid.Column="2"
Style="{x:Bind Path=ButtonStyle, Mode=OneWay}" Style="{x:Bind Path=ButtonStyle, Mode=OneWay}"
common:KeyboardShortcutManager.Character="{utils:ResourceString Name=num3Button/[using:CalculatorApp.Common]KeyboardShortcutManager/Character}"
AutomationProperties.AutomationId="num3Button" AutomationProperties.AutomationId="num3Button"
AutomationProperties.Name="{utils:ResourceString Name=num3Button/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="Three"/> ButtonId="Three"/>
<controls:CalculatorButton x:Name="Num4Button" <controls:CalculatorButton x:Name="Num4Button"
x:Uid="num4Button"
Grid.Row="1" Grid.Row="1"
Style="{x:Bind Path=ButtonStyle, Mode=OneWay}" Style="{x:Bind Path=ButtonStyle, Mode=OneWay}"
common:KeyboardShortcutManager.Character="{utils:ResourceString Name=num4Button/[using:CalculatorApp.Common]KeyboardShortcutManager/Character}"
AutomationProperties.AutomationId="num4Button" AutomationProperties.AutomationId="num4Button"
AutomationProperties.Name="{utils:ResourceString Name=num4Button/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="Four"/> ButtonId="Four"/>
<controls:CalculatorButton x:Name="Num5Button" <controls:CalculatorButton x:Name="Num5Button"
x:Uid="num5Button"
Grid.Row="1" Grid.Row="1"
Grid.Column="1" Grid.Column="1"
Style="{x:Bind Path=ButtonStyle, Mode=OneWay}" Style="{x:Bind Path=ButtonStyle, Mode=OneWay}"
common:KeyboardShortcutManager.Character="{utils:ResourceString Name=num5Button/[using:CalculatorApp.Common]KeyboardShortcutManager/Character}"
AutomationProperties.AutomationId="num5Button" AutomationProperties.AutomationId="num5Button"
AutomationProperties.Name="{utils:ResourceString Name=num5Button/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="Five"/> ButtonId="Five"/>
<controls:CalculatorButton x:Name="Num6Button" <controls:CalculatorButton x:Name="Num6Button"
x:Uid="num6Button"
Grid.Row="1" Grid.Row="1"
Grid.Column="2" Grid.Column="2"
Style="{x:Bind Path=ButtonStyle, Mode=OneWay}" Style="{x:Bind Path=ButtonStyle, Mode=OneWay}"
common:KeyboardShortcutManager.Character="{utils:ResourceString Name=num6Button/[using:CalculatorApp.Common]KeyboardShortcutManager/Character}"
AutomationProperties.AutomationId="num6Button" AutomationProperties.AutomationId="num6Button"
AutomationProperties.Name="{utils:ResourceString Name=num6Button/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="Six"/> ButtonId="Six"/>
<controls:CalculatorButton x:Name="Num7Button" <controls:CalculatorButton x:Name="Num7Button"
x:Uid="num7Button"
Style="{x:Bind Path=ButtonStyle, Mode=OneWay}" Style="{x:Bind Path=ButtonStyle, Mode=OneWay}"
common:KeyboardShortcutManager.Character="{utils:ResourceString Name=num7Button/[using:CalculatorApp.Common]KeyboardShortcutManager/Character}"
AutomationProperties.AutomationId="num7Button" AutomationProperties.AutomationId="num7Button"
AutomationProperties.Name="{utils:ResourceString Name=num7Button/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="Seven"/> ButtonId="Seven"/>
<controls:CalculatorButton x:Name="Num8Button" <controls:CalculatorButton x:Name="Num8Button"
x:Uid="num8Button"
Grid.Column="1" Grid.Column="1"
Style="{x:Bind Path=ButtonStyle, Mode=OneWay}" Style="{x:Bind Path=ButtonStyle, Mode=OneWay}"
common:KeyboardShortcutManager.Character="{utils:ResourceString Name=num8Button/[using:CalculatorApp.Common]KeyboardShortcutManager/Character}"
AutomationProperties.AutomationId="num8Button" AutomationProperties.AutomationId="num8Button"
AutomationProperties.Name="{utils:ResourceString Name=num8Button/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="Eight"/> ButtonId="Eight"/>
<controls:CalculatorButton x:Name="Num9Button" <controls:CalculatorButton x:Name="Num9Button"
x:Uid="num9Button"
Grid.Column="2" Grid.Column="2"
Style="{x:Bind Path=ButtonStyle, Mode=OneWay}" Style="{x:Bind Path=ButtonStyle, Mode=OneWay}"
common:KeyboardShortcutManager.Character="{utils:ResourceString Name=num9Button/[using:CalculatorApp.Common]KeyboardShortcutManager/Character}"
AutomationProperties.AutomationId="num9Button" AutomationProperties.AutomationId="num9Button"
AutomationProperties.Name="{utils:ResourceString Name=num9Button/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="Nine"/> ButtonId="Nine"/>
<!--
This is the only button in all of the app that should ever have a explicit reference to KeyboardShortcutManager in Xaml
this is needed because we need to have at least 1 reference from Xaml so the right metadata is generated for the
KeyboardShortcutManager class, otherwise the Xaml will stop parsing and the app won't boot therefore:
DO NOT REMOVE the common:KeyboardShortcutManager.Character from this element, it's value will be overwritten by the
string coming from the RESW file
-->
<controls:CalculatorButton x:Name="DecimalSeparatorButton" <controls:CalculatorButton x:Name="DecimalSeparatorButton"
x:Uid="decimalSeparatorButton"
Grid.Row="3" Grid.Row="3"
Grid.Column="2" Grid.Column="2"
Style="{Binding ElementName=ControlRoot, Path=ButtonStyle}" Style="{Binding ElementName=ControlRoot, Path=ButtonStyle}"
common:KeyboardShortcutManager.Character="." common:KeyboardShortcutManager.VirtualKey="{utils:ResourceVirtualKey Name=decimalSeparatorButton/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKey}"
AutomationProperties.AutomationId="decimalSeparatorButton" AutomationProperties.AutomationId="decimalSeparatorButton"
AutomationProperties.Name="{utils:ResourceString Name=decimalSeparatorButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="Decimal" ButtonId="Decimal"
IsEnabled="{Binding IsDecimalEnabled}"/> IsEnabled="{Binding IsDecimalEnabled}"/>
</Grid> </Grid>

View file

@ -5,6 +5,7 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:muxc="using:Microsoft.UI.Xaml.Controls" xmlns:muxc="using:Microsoft.UI.Xaml.Controls"
xmlns:utils="using:CalculatorApp.Utils"
Loaded="OnLoaded" Loaded="OnLoaded"
Unloaded="OnUnloaded" Unloaded="OnUnloaded"
mc:Ignorable="d"> mc:Ignorable="d">
@ -81,7 +82,6 @@
</VisualStateManager.VisualStateGroups> </VisualStateManager.VisualStateGroups>
<Button x:Name="BackButton" <Button x:Name="BackButton"
x:Uid="TitleBarBackButton"
Grid.Row="0" Grid.Row="0"
Width="44" Width="44"
Height="{x:Bind TitleBarHeight.Value, Mode=OneWay}" Height="{x:Bind TitleBarHeight.Value, Mode=OneWay}"
@ -89,8 +89,9 @@
Padding="2,0,0,0" Padding="2,0,0,0"
Style="{StaticResource SquareIconButtonStyle}" Style="{StaticResource SquareIconButtonStyle}"
FontSize="12" FontSize="12"
AutomationProperties.Name="{utils:ResourceString Name=TitleBarBackButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
Click="BackButton_Click" Click="BackButton_Click"
Content="&#xE72B;"/> Content=""/>
<Grid Grid.Row="1" <Grid Grid.Row="1"
Height="{StaticResource HamburgerHeight}" Height="{StaticResource HamburgerHeight}"
@ -98,8 +99,8 @@
HorizontalAlignment="Stretch" HorizontalAlignment="Stretch"
VerticalAlignment="Top"> VerticalAlignment="Top">
<TextBlock x:Name="Header" <TextBlock x:Name="Header"
x:Uid="SettingsHeader" Style="{StaticResource CategoryNameTextBlockStyle}"
Style="{StaticResource CategoryNameTextBlockStyle}"/> Text="{utils:ResourceString Name=SettingsHeader/Text}"/>
</Grid> </Grid>
<ScrollViewer Grid.Row="1" <ScrollViewer Grid.Row="1"
@ -118,17 +119,17 @@
<RowDefinition x:Name="AboutTitleContentRow" Height="*"/> <RowDefinition x:Name="AboutTitleContentRow" Height="*"/>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<TextBlock x:Uid="SettingsAppearance" <TextBlock Style="{StaticResource BodyStrongTextBlockStyle}"
Style="{StaticResource BodyStrongTextBlockStyle}" AutomationProperties.HeadingLevel="Level1"
AutomationProperties.HeadingLevel="Level1"/> Text="{utils:ResourceString Name=SettingsAppearance/Text}"/>
<muxc:Expander x:Name="AppThemeExpander" <muxc:Expander x:Name="AppThemeExpander"
x:Uid="AppThemeExpander"
Grid.Row="1" Grid.Row="1"
Margin="0,8,0,0" Margin="0,8,0,0"
HorizontalAlignment="Stretch" HorizontalAlignment="Stretch"
VerticalAlignment="Top" VerticalAlignment="Top"
HorizontalContentAlignment="Left" HorizontalContentAlignment="Left"
AutomationProperties.Name="{utils:ResourceString Name=AppThemeExpander/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ExpandDirection="Down" ExpandDirection="Down"
IsExpanded="False"> IsExpanded="False">
<muxc:Expander.Header> <muxc:Expander.Header>
@ -143,15 +144,15 @@
Foreground="{ThemeResource TextFillColorPrimaryBrush}" Foreground="{ThemeResource TextFillColorPrimaryBrush}"
FontFamily="{ThemeResource CalculatorFontFamily}" FontFamily="{ThemeResource CalculatorFontFamily}"
FontSize="16" FontSize="16"
Glyph="&#xE790;"/> Glyph=""/>
<StackPanel Grid.Column="1" <StackPanel Grid.Column="1"
Margin="0,12" Margin="0,12"
Orientation="Vertical"> Orientation="Vertical">
<TextBlock x:Uid="SettingsAppThemeTitle" Style="{StaticResource BodyTextBlockStyle}"/> <TextBlock Style="{StaticResource BodyTextBlockStyle}" Text="{utils:ResourceString Name=SettingsAppThemeTitle/Text}"/>
<TextBlock x:Uid="SettingsAppThemeDescription" <TextBlock Style="{StaticResource CaptionTextBlockStyle}"
Style="{StaticResource CaptionTextBlockStyle}"
Foreground="{ThemeResource TextFillColorSecondaryBrush}" Foreground="{ThemeResource TextFillColorSecondaryBrush}"
Text="{utils:ResourceString Name=SettingsAppThemeDescription/Text}"
TextWrapping="WrapWholeWords"/> TextWrapping="WrapWholeWords"/>
</StackPanel> </StackPanel>
</Grid> </Grid>
@ -161,13 +162,13 @@
Margin="32,0,0,0" Margin="32,0,0,0"
SelectionChanged="OnThemeSelectionChanged"> SelectionChanged="OnThemeSelectionChanged">
<RadioButton x:Name="LightThemeRadioButton" <RadioButton x:Name="LightThemeRadioButton"
x:Uid="LightThemeRadioButton" Content="{utils:ResourceString Name=LightThemeRadioButton/Content}"
Tag="Light"/> Tag="Light"/>
<RadioButton x:Name="DarkThemeRadioButton" <RadioButton x:Name="DarkThemeRadioButton"
x:Uid="DarkThemeRadioButton" Content="{utils:ResourceString Name=DarkThemeRadioButton/Content}"
Tag="Dark"/> Tag="Dark"/>
<RadioButton x:Name="SystemThemeRadioButton" <RadioButton x:Name="SystemThemeRadioButton"
x:Uid="SystemThemeRadioButton" Content="{utils:ResourceString Name=SystemThemeRadioButton/Content}"
Tag="Default"/> Tag="Default"/>
</muxc:RadioButtons> </muxc:RadioButtons>
</muxc:Expander.Content> </muxc:Expander.Content>
@ -181,10 +182,10 @@
</Grid.RowDefinitions> </Grid.RowDefinitions>
<TextBlock x:Name="AboutGroupTitle" <TextBlock x:Name="AboutGroupTitle"
x:Uid="AboutGroupTitle"
Margin="0,20,0,0" Margin="0,20,0,0"
Style="{ThemeResource BodyStrongTextBlockStyle}" Style="{ThemeResource BodyStrongTextBlockStyle}"
AutomationProperties.HeadingLevel="Level1"/> AutomationProperties.HeadingLevel="Level1"
Text="{utils:ResourceString Name=AboutGroupTitle/Text}"/>
<StackPanel Grid.Row="1" <StackPanel Grid.Row="1"
Margin="0,8,0,0" Margin="0,8,0,0"
Orientation="Vertical"> Orientation="Vertical">
@ -201,8 +202,8 @@
Padding="0" Padding="0"
NavigateUri="https://go.microsoft.com/fwlink/?LinkID=529064" NavigateUri="https://go.microsoft.com/fwlink/?LinkID=529064"
ToolTipService.ToolTip="https://go.microsoft.com/fwlink/?LinkID=529064"> ToolTipService.ToolTip="https://go.microsoft.com/fwlink/?LinkID=529064">
<TextBlock x:Uid="AboutEULA" <TextBlock FontSize="{ThemeResource BodyFontSize}"
FontSize="{ThemeResource BodyFontSize}" Text="{utils:ResourceString Name=AboutEULA/Text}"
TextWrapping="Wrap"/> TextWrapping="Wrap"/>
</HyperlinkButton> </HyperlinkButton>
@ -211,8 +212,8 @@
Padding="0" Padding="0"
NavigateUri="https://go.microsoft.com/fwlink/?LinkID=822631" NavigateUri="https://go.microsoft.com/fwlink/?LinkID=822631"
ToolTipService.ToolTip="https://go.microsoft.com/fwlink/?LinkID=822631"> ToolTipService.ToolTip="https://go.microsoft.com/fwlink/?LinkID=822631">
<TextBlock x:Uid="AboutControlServicesAgreement" <TextBlock FontSize="{ThemeResource BodyFontSize}"
FontSize="{ThemeResource BodyFontSize}" Text="{utils:ResourceString Name=AboutControlServicesAgreement/Text}"
TextWrapping="Wrap"/> TextWrapping="Wrap"/>
</HyperlinkButton> </HyperlinkButton>
@ -221,19 +222,19 @@
Padding="0" Padding="0"
NavigateUri="https://go.microsoft.com/fwlink/?LinkID=521839" NavigateUri="https://go.microsoft.com/fwlink/?LinkID=521839"
ToolTipService.ToolTip="https://go.microsoft.com/fwlink/?LinkID=521839"> ToolTipService.ToolTip="https://go.microsoft.com/fwlink/?LinkID=521839">
<TextBlock x:Uid="AboutControlPrivacyStatement" <TextBlock FontSize="{ThemeResource BodyFontSize}"
FontSize="{ThemeResource BodyFontSize}" Text="{utils:ResourceString Name=AboutControlPrivacyStatement/Text}"
TextWrapping="Wrap"/> TextWrapping="Wrap"/>
</HyperlinkButton> </HyperlinkButton>
<Button x:Name="FeedbackButton" <Button x:Name="FeedbackButton"
x:Uid="FeedbackButton"
MinWidth="120" MinWidth="120"
Margin="0,24,0,0" Margin="0,24,0,0"
HorizontalAlignment="Left" HorizontalAlignment="Left"
VerticalAlignment="Top" VerticalAlignment="Top"
FontSize="{StaticResource BodyFontSize}" FontSize="{StaticResource BodyFontSize}"
Click="FeedbackButton_Click"/> Click="FeedbackButton_Click"
Content="{utils:ResourceString Name=FeedbackButton/Content}"/>
</StackPanel> </StackPanel>
<RichTextBlock x:Name="AboutContribute" <RichTextBlock x:Name="AboutContribute"
Grid.Row="2" Grid.Row="2"

View file

@ -7,6 +7,7 @@
xmlns:designdata="using:CalculatorApp.DesignData" xmlns:designdata="using:CalculatorApp.DesignData"
xmlns:local="using:CalculatorApp" xmlns:local="using:CalculatorApp"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:utils="using:CalculatorApp.Utils"
xmlns:vm="using:CalculatorApp.ViewModel" xmlns:vm="using:CalculatorApp.ViewModel"
d:DesignHeight="300" d:DesignHeight="300"
d:DesignWidth="400" d:DesignWidth="400"
@ -89,13 +90,12 @@
</UserControl.Resources> </UserControl.Resources>
<StackPanel> <StackPanel>
<TextBlock x:Uid="SupplementaryResultsHeader" <TextBlock Margin="16,0,0,-6"
Margin="16,0,0,-6"
HorizontalAlignment="Left" HorizontalAlignment="Left"
Style="{ThemeResource CaptionTextBlockStyle}" Style="{ThemeResource CaptionTextBlockStyle}"
Foreground="{ThemeResource SystemControlPageTextBaseMediumBrush}" Foreground="{ThemeResource SystemControlPageTextBaseMediumBrush}"
IsTextScaleFactorEnabled="False" IsTextScaleFactorEnabled="False"
Text="Also equal to"/> Text="{utils:ResourceString Name=SupplementaryResultsHeader/Text}"/>
<controls:SupplementaryItemsControl x:Name="SupplementaryValues" <controls:SupplementaryItemsControl x:Name="SupplementaryValues"
MinHeight="27" MinHeight="27"
HorizontalAlignment="Left" HorizontalAlignment="Left"

View file

@ -3,6 +3,7 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:utils="using:CalculatorApp.Utils"
Height="32" Height="32"
mc:Ignorable="d"> mc:Ignorable="d">
<Grid x:Name="LayoutRoot" <Grid x:Name="LayoutRoot"
@ -73,7 +74,6 @@
</Grid> </Grid>
</Grid> </Grid>
<Button x:Name="ExitAlwaysOnTopButton" <Button x:Name="ExitAlwaysOnTopButton"
x:Uid="ExitAlwaysOnTopButton"
Width="46" Width="46"
Height="Auto" Height="Auto"
HorizontalAlignment="Left" HorizontalAlignment="Left"
@ -84,8 +84,10 @@
FontSize="14" FontSize="14"
FontWeight="Thin" FontWeight="Thin"
AutomationProperties.AutomationId="ExitAlwaysOnTopButton" AutomationProperties.AutomationId="ExitAlwaysOnTopButton"
AutomationProperties.Name="{utils:ResourceString Name=ExitAlwaysOnTopButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
Click="AlwaysOnTopButton_Click" Click="AlwaysOnTopButton_Click"
Content="&#xEE47;" Content=""
ToolTipService.ToolTip="{utils:ResourceString Name=ExitAlwaysOnTopButton/[using:Windows.UI.Xaml.Controls]ToolTipService/ToolTip}"
Visibility="Collapsed" Visibility="Collapsed"
x:Load="False"> x:Load="False">
<Button.KeyboardAccelerators> <Button.KeyboardAccelerators>

View file

@ -12,6 +12,7 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:muxc="using:Microsoft.UI.Xaml.Controls" xmlns:muxc="using:Microsoft.UI.Xaml.Controls"
xmlns:triggers="using:CalculatorApp.Views.StateTriggers" xmlns:triggers="using:CalculatorApp.Views.StateTriggers"
xmlns:utils="using:CalculatorApp.Utils"
xmlns:vm="using:CalculatorApp.ViewModel" xmlns:vm="using:CalculatorApp.ViewModel"
d:DesignHeight="658" d:DesignHeight="658"
d:DesignWidth="830" d:DesignWidth="830"
@ -154,7 +155,7 @@
FontSize="12" FontSize="12"
AutomationProperties.AccessibilityView="Raw" AutomationProperties.AccessibilityView="Raw"
IsHitTestVisible="False" IsHitTestVisible="False"
Text="&#xE70D;"/> Text=""/>
<Popup x:Name="Popup"> <Popup x:Name="Popup">
<Border x:Name="PopupBorder" <Border x:Name="PopupBorder"
Margin="0,-0.5,0,-1" Margin="0,-0.5,0,-1"
@ -663,12 +664,12 @@
Visibility="Collapsed"> Visibility="Collapsed">
<StackPanel Orientation="Horizontal"> <StackPanel Orientation="Horizontal">
<HyperlinkButton x:Name="CurrencyRefreshBlock" <HyperlinkButton x:Name="CurrencyRefreshBlock"
x:Uid="RefreshButtonText"
Margin="16,4,0,0" Margin="16,4,0,0"
Padding="0" Padding="0"
Foreground="{ThemeResource AccentTextFillColorPrimaryBrush}" Foreground="{ThemeResource AccentTextFillColorPrimaryBrush}"
BorderThickness="0" BorderThickness="0"
Click="CurrencyRefreshButton_Click"> Click="CurrencyRefreshButton_Click"
Content="{utils:ResourceString Name=RefreshButtonText/Content}">
<HyperlinkButton.Resources> <HyperlinkButton.Resources>
<ResourceDictionary> <ResourceDictionary>
<StaticResource x:Key="HyperlinkButtonBackgroundPointerOver" ResourceKey="SubtleFillColorTransparentBrush"/> <StaticResource x:Key="HyperlinkButtonBackgroundPointerOver" ResourceKey="SubtleFillColorTransparentBrush"/>
@ -677,8 +678,7 @@
</HyperlinkButton.Resources> </HyperlinkButton.Resources>
</HyperlinkButton> </HyperlinkButton>
<TextBlock Margin="3,6,0,0" Style="{ThemeResource CaptionTextBlockStyle}"> <TextBlock Margin="3,6,0,0" Style="{ThemeResource CaptionTextBlockStyle}">
<Run x:Name="CurrencySecondaryStatus" <Run x:Name="CurrencySecondaryStatus" Text=""/>
Text=""/>
</TextBlock> </TextBlock>
</StackPanel> </StackPanel>
</ContentControl> </ContentControl>
@ -724,52 +724,56 @@
<ColumnDefinition Width="1*"/> <ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/> <ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<Grid x:Uid="DisplayControls" <Grid Grid.Row="0"
Grid.Row="0"
Grid.Column="1" Grid.Column="1"
Grid.ColumnSpan="2" Grid.ColumnSpan="2"
AutomationProperties.HeadingLevel="Level1"> AutomationProperties.HeadingLevel="Level1"
AutomationProperties.Name="{utils:ResourceString Name=DisplayControls/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition/> <ColumnDefinition/>
<ColumnDefinition/> <ColumnDefinition/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<controls:CalculatorButton x:Name="ClearEntryButtonPos0" <controls:CalculatorButton x:Name="ClearEntryButtonPos0"
x:Uid="clearEntryButton"
HorizontalAlignment="Stretch" HorizontalAlignment="Stretch"
Style="{StaticResource OperatorButtonStyle}" Style="{StaticResource OperatorButtonStyle}"
FontSize="14" FontSize="14"
common:KeyboardShortcutManager.VirtualKey="{utils:ResourceVirtualKey Name=clearEntryButton/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKey}"
AutomationProperties.Name="{utils:ResourceString Name=clearEntryButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="Clear" ButtonId="Clear"
Content="CE" Content="CE"
TabIndex="7"/> TabIndex="7"/>
<controls:CalculatorButton x:Name="BackSpaceButtonSmall" <controls:CalculatorButton x:Name="BackSpaceButtonSmall"
x:Uid="backSpaceButton"
Grid.Column="1" Grid.Column="1"
Style="{StaticResource SymbolOperatorButtonStyle}" Style="{StaticResource SymbolOperatorButtonStyle}"
FontSize="14" FontSize="14"
common:KeyboardShortcutManager.VirtualKey="{utils:ResourceVirtualKey Name=backSpaceButton/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKey}"
AutomationProperties.Name="{utils:ResourceString Name=backSpaceButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="Backspace" ButtonId="Backspace"
Content="&#xE94F;" Content=""
TabIndex="8"/> TabIndex="8"/>
</Grid> </Grid>
<local:NumberPad x:Name="NumberPad" <local:NumberPad x:Name="NumberPad"
x:Uid="NumberPad"
Grid.Row="1" Grid.Row="1"
Grid.RowSpan="4" Grid.RowSpan="4"
Grid.Column="0" Grid.Column="0"
Grid.ColumnSpan="3" Grid.ColumnSpan="3"
VerticalAlignment="Stretch" VerticalAlignment="Stretch"
AutomationProperties.HeadingLevel="Level1" AutomationProperties.HeadingLevel="Level1"
AutomationProperties.Name="{utils:ResourceString Name=NumberPad/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonStyle="{StaticResource NumericButtonStyle18}" ButtonStyle="{StaticResource NumericButtonStyle18}"
TabIndex="10" TabIndex="10"
TabNavigation="Local"/> TabNavigation="Local"/>
<controls:CalculatorButton x:Name="ConverterNegateButton" <controls:CalculatorButton x:Name="ConverterNegateButton"
x:Uid="converterNegateButton"
Grid.Row="4" Grid.Row="4"
Grid.Column="0" Grid.Column="0"
Style="{StaticResource SymbolOperatorKeypadButtonStyle}" Style="{StaticResource SymbolOperatorKeypadButtonStyle}"
FontSize="16" FontSize="16"
common:KeyboardShortcutManager.Character="{utils:ResourceString Name=converterNegateButton/[using:CalculatorApp.Common]KeyboardShortcutManager/Character}"
common:KeyboardShortcutManager.VirtualKey="{utils:ResourceVirtualKey Name=converterNegateButton/[using:CalculatorApp.Common]KeyboardShortcutManager/VirtualKey}"
AutomationProperties.Name="{utils:ResourceString Name=converterNegateButton/[using:Windows.UI.Xaml.Automation]AutomationProperties/Name}"
ButtonId="Negate" ButtonId="Negate"
Content="&#xF898;" Content=""
TabIndex="6" TabIndex="6"
Visibility="{x:Bind Model.CurrentCategory.NegateVisibility, Mode=OneWay}"/> Visibility="{x:Bind Model.CurrentCategory.NegateVisibility, Mode=OneWay}"/>
</Grid> </Grid>