diff --git a/src/Calculator/App.xaml b/src/Calculator/App.xaml index 2bf5bc2c..e2a61fc1 100644 --- a/src/Calculator/App.xaml +++ b/src/Calculator/App.xaml @@ -8,7 +8,8 @@ xmlns:converters="using:CalculatorApp.Converters" xmlns:local="using:CalculatorApp" 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"> @@ -790,7 +791,6 @@ TextWrapping="NoWrap"/> + + EquationStylePanelControl.xaml diff --git a/src/Calculator/Utils/ResourceString.cs b/src/Calculator/Utils/ResourceString.cs new file mode 100644 index 00000000..274096f3 --- /dev/null +++ b/src/Calculator/Utils/ResourceString.cs @@ -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); + } + } +} diff --git a/src/Calculator/Utils/ResourceVirtualKey.cs b/src/Calculator/Utils/ResourceVirtualKey.cs new file mode 100644 index 00000000..3ec38c6e --- /dev/null +++ b/src/Calculator/Utils/ResourceVirtualKey.cs @@ -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); + } + } +} diff --git a/src/Calculator/Views/Calculator.xaml b/src/Calculator/Views/Calculator.xaml index 9045f1c5..b7c3b85a 100644 --- a/src/Calculator/Views/Calculator.xaml +++ b/src/Calculator/Views/Calculator.xaml @@ -2,7 +2,7 @@ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 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: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)" @@ -11,25 +11,27 @@ xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:local="using:CalculatorApp" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" + xmlns:utils="using:CalculatorApp.Utils" + xmlns:vmcommon="using:CalculatorApp.ViewModel.Common" Loaded="OnLoaded" mc:Ignorable="d"> - + - + - + @@ -73,19 +75,19 @@ - - + AutomationProperties.HeadingLevel="Level1" + Text="{utils:ResourceString Name=KeyGraphFeaturesLabel/Text}"/> @@ -42,18 +44,20 @@ - + Invoked="OnDeleteSwipeInvoked" + Text="{utils:ResourceString Name=DeleteHistorySwipeItem/Text}"/> - - + + Icon="Delete" + Text="{utils:ResourceString Name=DeleteHistoryMenuItem/Text}"/> @@ -133,10 +137,10 @@