436 lines
25 KiB
XML
436 lines
25 KiB
XML
<UserControl x:Class="CalculatorApp.CalculatorProgrammerRadixOperators"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:common="using:CalculatorApp.Common"
|
|
xmlns:controls="using:CalculatorApp.Controls"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:local="using:CalculatorApp"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
x:Name="ControlRoot"
|
|
d:DesignHeight="395"
|
|
d:DesignWidth="315"
|
|
Loaded="OnLoaded"
|
|
Unloaded="OnUnloaded"
|
|
mc:Ignorable="d">
|
|
|
|
<Grid x:Name="ProgRadixOps">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="1*"/>
|
|
<RowDefinition Height="1*"/>
|
|
<RowDefinition Height="1*"/>
|
|
<RowDefinition Height="1*"/>
|
|
<RowDefinition Height="1*"/>
|
|
<RowDefinition Height="1*"/>
|
|
</Grid.RowDefinitions>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition x:Name="GutterLeft" Width="0"/>
|
|
<ColumnDefinition x:Name="C0" Width="1*"/>
|
|
<ColumnDefinition x:Name="C1" Width="1*"/>
|
|
<ColumnDefinition x:Name="C2" Width="1*"/>
|
|
<ColumnDefinition x:Name="C3" Width="1*"/>
|
|
<ColumnDefinition x:Name="C4" Width="1*"/>
|
|
<ColumnDefinition x:Name="C5" Width="1*"/>
|
|
<ColumnDefinition x:Name="GutterRight" Width="0"/>
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<VisualStateManager.VisualStateGroups>
|
|
<VisualStateGroup x:Name="ErrorVisualStates">
|
|
<VisualState x:Name="NoErrorLayout"/>
|
|
<VisualState x:Name="ErrorLayout">
|
|
<VisualState.Setters>
|
|
<Setter Target="rolButton.IsEnabled" Value="False"/>
|
|
<Setter Target="rorButton.IsEnabled" Value="False"/>
|
|
<Setter Target="lshButton.IsEnabled" Value="False"/>
|
|
<Setter Target="rshButton.IsEnabled" Value="False"/>
|
|
<Setter Target="orButton.IsEnabled" Value="False"/>
|
|
<Setter Target="xorButton.IsEnabled" Value="False"/>
|
|
<Setter Target="notButton.IsEnabled" Value="False"/>
|
|
<Setter Target="andButton.IsEnabled" Value="False"/>
|
|
|
|
<Setter Target="shiftButton.IsEnabled" Value="False"/>
|
|
<Setter Target="modButton.IsEnabled" Value="False"/>
|
|
|
|
<Setter Target="divideButton.IsEnabled" Value="False"/>
|
|
<Setter Target="multiplyButton.IsEnabled" Value="False"/>
|
|
<Setter Target="minusButton.IsEnabled" Value="False"/>
|
|
<Setter Target="plusButton.IsEnabled" Value="False"/>
|
|
|
|
<Setter Target="openParenthesisButton.IsEnabled" Value="False"/>
|
|
<Setter Target="closeParenthesisButton.IsEnabled" Value="False"/>
|
|
<Setter Target="negateButton.IsEnabled" Value="False"/>
|
|
</VisualState.Setters>
|
|
</VisualState>
|
|
</VisualStateGroup>
|
|
<VisualStateGroup>
|
|
<VisualState x:Name="Portrait768x1366">
|
|
<VisualState.StateTriggers>
|
|
<AdaptiveTrigger MinWindowHeight="1366" MinWindowWidth="768"/>
|
|
</VisualState.StateTriggers>
|
|
<VisualState.Setters>
|
|
<Setter Target="clearEntryButton.FontSize" Value="{StaticResource CalcOperatorCaptionSize}"/>
|
|
<Setter Target="clearButton.FontSize" Value="{StaticResource CalcOperatorCaptionSize}"/>
|
|
<Setter Target="backSpaceButton.FontSize" Value="{StaticResource CalcOperatorCaptionSize}"/>
|
|
<Setter Target="divideButton.FontSize" Value="{StaticResource CalcOperatorCaptionSize}"/>
|
|
<Setter Target="multiplyButton.FontSize" Value="{StaticResource CalcOperatorCaptionSize}"/>
|
|
<Setter Target="minusButton.FontSize" Value="{StaticResource CalcOperatorCaptionSize}"/>
|
|
<Setter Target="plusButton.FontSize" Value="{StaticResource CalcOperatorCaptionSize}"/>
|
|
<Setter Target="equalButton.FontSize" Value="{StaticResource CalcOperatorCaptionSize}"/>
|
|
|
|
<Setter Target="aButton.FontSize" Value="{StaticResource TitleFontSize}"/>
|
|
<Setter Target="bButton.FontSize" Value="{StaticResource TitleFontSize}"/>
|
|
<Setter Target="cButton.FontSize" Value="{StaticResource TitleFontSize}"/>
|
|
<Setter Target="dButton.FontSize" Value="{StaticResource TitleFontSize}"/>
|
|
<Setter Target="eButton.FontSize" Value="{StaticResource TitleFontSize}"/>
|
|
<Setter Target="fButton.FontSize" Value="{StaticResource TitleFontSize}"/>
|
|
|
|
<Setter Target="NumberPad.ButtonStyle" Value="{StaticResource NumericButtonStyle24}"/>
|
|
</VisualState.Setters>
|
|
</VisualState>
|
|
<VisualState x:Name="FullLayout">
|
|
<VisualState.StateTriggers>
|
|
<AdaptiveTrigger MinWindowHeight="768" MinWindowWidth="1024"/>
|
|
</VisualState.StateTriggers>
|
|
<VisualState.Setters>
|
|
<Setter Target="NumberPad.ButtonStyle" Value="{StaticResource NumericButtonStyle24}"/>
|
|
</VisualState.Setters>
|
|
</VisualState>
|
|
<VisualState x:Name="MinSizeLayout">
|
|
<VisualState.StateTriggers>
|
|
<AdaptiveTrigger MinWindowHeight="{StaticResource AppMinWindowHeight}" MinWindowWidth="{StaticResource AppMinWindowWidth}"/>
|
|
</VisualState.StateTriggers>
|
|
</VisualState>
|
|
<VisualState x:Name="DefaultLayout">
|
|
<VisualState.StateTriggers>
|
|
<AdaptiveTrigger MinWindowHeight="0" MinWindowWidth="0"/>
|
|
</VisualState.StateTriggers>
|
|
<VisualState.Setters>
|
|
<Setter Target="openParenthesisButton.FontSize" Value="12"/>
|
|
<Setter Target="openParenthesisButton.Padding" Value="0"/>
|
|
<Setter Target="closeParenthesisButton.FontSize" Value="12"/>
|
|
<Setter Target="closeParenthesisButton.Padding" Value="0"/>
|
|
|
|
<Setter Target="NumberPad.ButtonStyle" Value="{StaticResource NumericButtonStyle12}"/>
|
|
<Setter Target="aButton.Style" Value="{StaticResource NumericButtonStyle12}"/>
|
|
<Setter Target="bButton.Style" Value="{StaticResource NumericButtonStyle12}"/>
|
|
<Setter Target="cButton.Style" Value="{StaticResource NumericButtonStyle12}"/>
|
|
<Setter Target="dButton.Style" Value="{StaticResource NumericButtonStyle12}"/>
|
|
<Setter Target="eButton.Style" Value="{StaticResource NumericButtonStyle12}"/>
|
|
<Setter Target="fButton.Style" Value="{StaticResource NumericButtonStyle12}"/>
|
|
|
|
<Setter Target="shiftButton.Style" Value="{StaticResource CaptionToggleButtonSmallStyle}"/>
|
|
</VisualState.Setters>
|
|
</VisualState>
|
|
</VisualStateGroup>
|
|
</VisualStateManager.VisualStateGroups>
|
|
|
|
<Grid x:Uid="ProgrammerOperators"
|
|
Grid.Column="1"
|
|
Grid.ColumnSpan="6"
|
|
AutomationProperties.HeadingLevel="Level1">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition/>
|
|
<ColumnDefinition/>
|
|
<ColumnDefinition/>
|
|
<ColumnDefinition/>
|
|
<ColumnDefinition/>
|
|
<ColumnDefinition/>
|
|
</Grid.ColumnDefinitions>
|
|
<controls:CalculatorButton x:Name="rolButton"
|
|
x:Uid="rolButton"
|
|
Grid.Column="0"
|
|
Style="{StaticResource OperatorButtonStyle}"
|
|
FontSize="12"
|
|
x:DeferLoadStrategy="Lazy"
|
|
AutomationProperties.AutomationId="rolButton"
|
|
ButtonId="Rol"
|
|
Content="RoL"
|
|
Visibility="Collapsed"/>
|
|
<controls:CalculatorButton x:Name="rorButton"
|
|
x:Uid="rorButton"
|
|
Grid.Column="1"
|
|
Style="{StaticResource OperatorButtonStyle}"
|
|
FontSize="12"
|
|
x:DeferLoadStrategy="Lazy"
|
|
AutomationProperties.AutomationId="rorButton"
|
|
ButtonId="Ror"
|
|
Content="RoR"
|
|
Visibility="Collapsed"/>
|
|
<controls:CalculatorButton x:Name="lshButton"
|
|
x:Uid="lshButton"
|
|
Grid.Column="0"
|
|
Style="{StaticResource OperatorButtonStyle}"
|
|
FontSize="12"
|
|
AutomationProperties.AutomationId="lshButton"
|
|
ButtonId="Lsh"
|
|
Content="Lsh"/>
|
|
<controls:CalculatorButton x:Name="rshButton"
|
|
x:Uid="rshButton"
|
|
Grid.Column="1"
|
|
Style="{StaticResource OperatorButtonStyle}"
|
|
FontSize="12"
|
|
AutomationProperties.AutomationId="rshButton"
|
|
ButtonId="Rsh"
|
|
Content="Rsh"/>
|
|
<controls:CalculatorButton x:Name="orButton"
|
|
x:Uid="orButton"
|
|
Grid.Column="2"
|
|
Style="{StaticResource OperatorButtonStyle}"
|
|
FontSize="12"
|
|
AutomationProperties.AutomationId="orButton"
|
|
ButtonId="Or"
|
|
Content="Or"/>
|
|
<controls:CalculatorButton x:Name="xorButton"
|
|
x:Uid="xorButton"
|
|
Grid.Column="3"
|
|
Style="{StaticResource OperatorButtonStyle}"
|
|
FontSize="12"
|
|
AutomationProperties.AutomationId="xorButton"
|
|
ButtonId="Xor"
|
|
Content="Xor"/>
|
|
<controls:CalculatorButton x:Name="notButton"
|
|
x:Uid="notButton"
|
|
Grid.Column="4"
|
|
Style="{StaticResource OperatorButtonStyle}"
|
|
FontSize="12"
|
|
AutomationProperties.AutomationId="notButton"
|
|
ButtonId="Not"
|
|
Content="Not"/>
|
|
<controls:CalculatorButton x:Name="andButton"
|
|
x:Uid="andButton"
|
|
Grid.Column="5"
|
|
Style="{StaticResource OperatorButtonStyle}"
|
|
FontSize="12"
|
|
AutomationProperties.AutomationId="andButton"
|
|
ButtonId="And"
|
|
Content="And"/>
|
|
</Grid>
|
|
|
|
<ToggleButton x:Name="shiftButton"
|
|
x:Uid="shiftButton"
|
|
Grid.Row="1"
|
|
Grid.Column="1"
|
|
HorizontalAlignment="Stretch"
|
|
VerticalAlignment="Stretch"
|
|
Style="{StaticResource CaptionToggleButtonStyle}"
|
|
FontFamily="{StaticResource CalculatorFontFamily}"
|
|
FontSize="16"
|
|
AutomationProperties.AutomationId="shiftButton"
|
|
Checked="Shift_Clicked"
|
|
Content=""
|
|
Unchecked="Shift_Clicked"/>
|
|
<controls:CalculatorButton x:Name="modButton"
|
|
x:Uid="modButton"
|
|
Grid.Row="1"
|
|
Grid.Column="2"
|
|
Style="{StaticResource OperatorButtonStyle}"
|
|
FontSize="12"
|
|
AutomationProperties.AutomationId="modButton"
|
|
ButtonId="Mod"
|
|
Content="Mod"/>
|
|
|
|
<Grid x:Uid="StandardOperators"
|
|
Grid.Row="1"
|
|
Grid.RowSpan="5"
|
|
Grid.Column="6"
|
|
AutomationProperties.HeadingLevel="Level1">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition/>
|
|
<RowDefinition/>
|
|
<RowDefinition/>
|
|
<RowDefinition/>
|
|
<RowDefinition/>
|
|
</Grid.RowDefinitions>
|
|
<controls:CalculatorButton x:Name="divideButton"
|
|
x:Uid="divideButton"
|
|
Grid.Row="0"
|
|
Style="{StaticResource AccentCalcButtonStyle}"
|
|
FontSize="12"
|
|
AutomationProperties.AutomationId="divideButton"
|
|
ButtonId="Divide"
|
|
Content=""/>
|
|
<controls:CalculatorButton x:Name="multiplyButton"
|
|
x:Uid="multiplyButton"
|
|
Grid.Row="1"
|
|
Style="{StaticResource AccentCalcButtonStyle}"
|
|
FontSize="12"
|
|
AutomationProperties.AutomationId="multiplyButton"
|
|
ButtonId="Multiply"
|
|
Content=""/>
|
|
<controls:CalculatorButton x:Name="minusButton"
|
|
x:Uid="minusButton"
|
|
Grid.Row="2"
|
|
Style="{StaticResource AccentCalcButtonStyle}"
|
|
FontSize="12"
|
|
AutomationProperties.AutomationId="minusButton"
|
|
ButtonId="Subtract"
|
|
Content=""/>
|
|
<controls:CalculatorButton x:Name="plusButton"
|
|
x:Uid="plusButton"
|
|
Grid.Row="3"
|
|
Style="{StaticResource AccentCalcButtonStyle}"
|
|
FontSize="12"
|
|
AutomationProperties.AutomationId="plusButton"
|
|
ButtonId="Add"
|
|
Content=""/>
|
|
<controls:CalculatorButton x:Name="equalButton"
|
|
x:Uid="equalButton"
|
|
Grid.Row="4"
|
|
Style="{StaticResource AccentCalcButtonStyle}"
|
|
FontSize="12"
|
|
AutomationProperties.AutomationId="equalButton"
|
|
ButtonId="Equals"
|
|
Content=""/>
|
|
</Grid>
|
|
|
|
<Grid x:Uid="DisplayControls"
|
|
Grid.Row="1"
|
|
Grid.Column="3"
|
|
Grid.ColumnSpan="3"
|
|
AutomationProperties.HeadingLevel="Level1">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition/>
|
|
<ColumnDefinition/>
|
|
<ColumnDefinition/>
|
|
</Grid.ColumnDefinitions>
|
|
<controls:CalculatorButton x:Name="clearEntryButton"
|
|
x:Uid="clearEntryButton"
|
|
Grid.Column="0"
|
|
Style="{StaticResource OperatorButtonStyle}"
|
|
FontSize="12"
|
|
FontWeight="SemiBold"
|
|
AutomationProperties.AutomationId="clearEntryButton"
|
|
ButtonId="ClearEntry"
|
|
Content="CE"/>
|
|
<controls:CalculatorButton x:Name="clearButton"
|
|
x:Uid="clearButton"
|
|
Grid.Column="1"
|
|
Style="{StaticResource OperatorButtonStyle}"
|
|
FontSize="12"
|
|
FontWeight="SemiBold"
|
|
AutomationProperties.AutomationId="clearButton"
|
|
ButtonId="Clear"
|
|
Content="C"/>
|
|
<controls:CalculatorButton x:Name="backSpaceButton"
|
|
x:Uid="backSpaceButton"
|
|
Grid.Column="2"
|
|
Style="{StaticResource SymbolOperatorButtonStyle}"
|
|
FontSize="12"
|
|
AutomationProperties.AutomationId="backSpaceButton"
|
|
ButtonId="Backspace"
|
|
Content=""/>
|
|
</Grid>
|
|
|
|
<Grid x:Uid="NumberPad"
|
|
Grid.Row="2"
|
|
Grid.RowSpan="4"
|
|
Grid.Column="1"
|
|
Grid.ColumnSpan="5"
|
|
AutomationProperties.AutomationId="NumberPad"
|
|
AutomationProperties.HeadingLevel="Level1">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition/>
|
|
<RowDefinition/>
|
|
<RowDefinition/>
|
|
<RowDefinition/>
|
|
</Grid.RowDefinitions>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition/>
|
|
<ColumnDefinition/>
|
|
<ColumnDefinition/>
|
|
<ColumnDefinition/>
|
|
<ColumnDefinition/>
|
|
</Grid.ColumnDefinitions>
|
|
<local:NumberPad x:Name="NumberPad"
|
|
Grid.RowSpan="4"
|
|
Grid.Column="2"
|
|
Grid.ColumnSpan="3"
|
|
ButtonStyle="{StaticResource NumericButtonStyle18}"/>
|
|
|
|
<controls:CalculatorButton x:Name="aButton"
|
|
x:Uid="aButton"
|
|
Grid.Row="0"
|
|
Grid.Column="0"
|
|
Style="{StaticResource NumericButtonStyle12}"
|
|
AutomationProperties.AutomationId="aButton"
|
|
ButtonId="A"
|
|
Content="A"
|
|
IsEnabled="{x:Bind Model.AreHEXButtonsEnabled, Mode=OneWay}"/>
|
|
<controls:CalculatorButton x:Name="bButton"
|
|
x:Uid="bButton"
|
|
Grid.Row="0"
|
|
Grid.Column="1"
|
|
Style="{StaticResource NumericButtonStyle12}"
|
|
AutomationProperties.AutomationId="bButton"
|
|
ButtonId="B"
|
|
Content="B"
|
|
IsEnabled="{x:Bind Model.AreHEXButtonsEnabled, Mode=OneWay}"/>
|
|
<controls:CalculatorButton x:Name="cButton"
|
|
x:Uid="cButton"
|
|
Grid.Row="1"
|
|
Grid.Column="0"
|
|
Style="{StaticResource NumericButtonStyle12}"
|
|
AutomationProperties.AutomationId="cButton"
|
|
ButtonId="C"
|
|
Content="C"
|
|
IsEnabled="{x:Bind Model.AreHEXButtonsEnabled, Mode=OneWay}"/>
|
|
<controls:CalculatorButton x:Name="dButton"
|
|
x:Uid="dButton"
|
|
Grid.Row="1"
|
|
Grid.Column="1"
|
|
Style="{StaticResource NumericButtonStyle12}"
|
|
AutomationProperties.AutomationId="dButton"
|
|
ButtonId="D"
|
|
Content="D"
|
|
IsEnabled="{x:Bind Model.AreHEXButtonsEnabled, Mode=OneWay}"/>
|
|
<controls:CalculatorButton x:Name="eButton"
|
|
x:Uid="eButton"
|
|
Grid.Row="2"
|
|
Grid.Column="0"
|
|
Style="{StaticResource NumericButtonStyle12}"
|
|
AutomationProperties.AutomationId="eButton"
|
|
ButtonId="E"
|
|
Content="E"
|
|
IsEnabled="{x:Bind Model.AreHEXButtonsEnabled, Mode=OneWay}"/>
|
|
<controls:CalculatorButton x:Name="fButton"
|
|
x:Uid="fButton"
|
|
Grid.Row="2"
|
|
Grid.Column="1"
|
|
Style="{StaticResource NumericButtonStyle12}"
|
|
AutomationProperties.AutomationId="fButton"
|
|
ButtonId="F"
|
|
Content="F"
|
|
IsEnabled="{x:Bind Model.AreHEXButtonsEnabled, Mode=OneWay}"/>
|
|
</Grid>
|
|
|
|
<controls:CalculatorButton x:Name="openParenthesisButton"
|
|
x:Uid="openParenthesisButton"
|
|
Grid.Row="5"
|
|
Grid.Column="1"
|
|
Style="{StaticResource ParenthesisCalcButtonStyle}"
|
|
FontSize="18"
|
|
AutomationProperties.AutomationId="openParenthesisButton"
|
|
AutomationProperties.Name="{Binding LeftParenthesisAutomationName}"
|
|
ButtonId="OpenParenthesis"
|
|
Content="("
|
|
Tag="{x:Bind Model.OpenParenthesisCount, Mode=OneWay}"/>
|
|
<controls:CalculatorButton x:Name="closeParenthesisButton"
|
|
x:Uid="closeParenthesisButton"
|
|
Grid.Row="5"
|
|
Grid.Column="2"
|
|
Style="{StaticResource OperatorButtonStyle}"
|
|
FontSize="18"
|
|
AutomationProperties.AutomationId="closeParenthesisButton"
|
|
ButtonId="CloseParenthesis"
|
|
Content=")"/>
|
|
<controls:CalculatorButton x:Name="negateButton"
|
|
x:Uid="negateButton"
|
|
Grid.Row="5"
|
|
Grid.Column="3"
|
|
Style="{StaticResource SymbolOperatorButtonStyle}"
|
|
FontSize="12"
|
|
AutomationProperties.AutomationId="negateButton"
|
|
ButtonId="Negate"
|
|
Content=""/>
|
|
</Grid>
|
|
</UserControl>
|