Repository navigation
Expand file tree
/
Copy pathMainWindow.xaml
More file actions
97 lines (86 loc) · 6.49 KB
/
Copy pathMainWindow.xaml
File metadata and controls
97 lines (86 loc) · 6.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
<Window x:Class="WpfLatexCalculator.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfLatexCalculator"
xmlns:wpfMath="clr-namespace:WpfMath.Controls;assembly=WpfMath"
mc:Ignorable="d"
Title="WPF LaTeX Calculator" Height="NaN" Width="324" d:DesignHeight="476.96">
<Window.Resources>
<Style TargetType="Button">
<Setter Property="Margin" Value="2"/>
<Setter Property="FontSize" Value="16"/>
<Setter Property="MinHeight" Value="40"/>
</Style>
<Style x:Key="OperatorButton" TargetType="Button" BasedOn="{StaticResource {x:Type Button}}">
<Setter Property="Background" Value="LightGray"/>
</Style>
<Style x:Key="FunctionButton" TargetType="Button" BasedOn="{StaticResource {x:Type Button}}">
<Setter Property="Background" Value="LightSkyBlue"/>
</Style>
</Window.Resources>
<Grid Margin="10">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Border Grid.Row="0" BorderBrush="Gray" BorderThickness="1" MinHeight="60" Margin="0,0,0,5" Padding="5">
<wpfMath:FormulaControl x:Name="ExpressionDisplay" Formula="" VerticalAlignment="Center" Scale="20" />
</Border>
<Border Grid.Row="1" BorderBrush="Gray" BorderThickness="1" MinHeight="40" Margin="0,0,0,10" Padding="5">
<wpfMath:FormulaControl x:Name="ResultDisplay" Formula="" VerticalAlignment="Center" Scale="18" />
</Border>
<Grid Grid.Row="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Button Content="rad" Grid.Row="0" Grid.Column="0" Style="{StaticResource FunctionButton}" Click="ModeButton_Click" x:Name="AngleModeButton"/>
<Button Content="π" Grid.Row="0" Grid.Column="1" Style="{StaticResource FunctionButton}" Click="ConstantButton_Click" Tag="\pi"/>
<Button Content="e" Grid.Row="0" Grid.Column="2" Style="{StaticResource FunctionButton}" Click="ConstantButton_Click" Tag="e"/>
<Button Content="C" Grid.Row="0" Grid.Column="3" Style="{StaticResource OperatorButton}" Click="ClearButton_Click"/>
<Button Content="⌫" Grid.Row="0" Grid.Column="4" Style="{StaticResource OperatorButton}" Click="BackspaceButton_Click"/>
<Button Content="sin" Grid.Row="1" Grid.Column="0" Style="{StaticResource FunctionButton}" Click="FunctionButton_Click" Tag="\sin"/>
<Button Content="cos" Grid.Row="1" Grid.Column="1" Style="{StaticResource FunctionButton}" Click="FunctionButton_Click" Tag="\cos"/>
<Button Content="tan" Grid.Row="1" Grid.Column="2" Style="{StaticResource FunctionButton}" Click="FunctionButton_Click" Tag="\tan"/>
<Button Content="log" Grid.Row="1" Grid.Column="3" Style="{StaticResource FunctionButton}" Click="FunctionButton_Click" Tag="\log_{10}"/>
<Button Content="ln" Grid.Row="1" Grid.Column="4" Style="{StaticResource FunctionButton}" Click="FunctionButton_Click" Tag="\ln"/>
<Button Content="√x" Grid.Row="2" Grid.Column="0" Style="{StaticResource FunctionButton}" Click="FunctionButton_Click" Tag="\sqrt"/>
<Button Content="x²" Grid.Row="2" Grid.Column="1" Style="{StaticResource FunctionButton}" Click="PowerButton_Click" Tag="^2"/>
<Button Content="xʸ" Grid.Row="2" Grid.Column="2" Style="{StaticResource FunctionButton}" Click="OperatorButton_Click" Tag="Pow"/>
<Button Content="(" Grid.Row="2" Grid.Column="3" Click="OperatorButton_Click" Tag="("/>
<Button Content=")" Grid.Row="2" Grid.Column="4" Click="OperatorButton_Click" Tag=")"/>
<Button Content="7" Grid.Row="3" Grid.Column="0" Click="NumberButton_Click" Tag="7"/>
<Button Content="8" Grid.Row="3" Grid.Column="1" Click="NumberButton_Click" Tag="8"/>
<Button Content="9" Grid.Row="3" Grid.Column="2" Click="NumberButton_Click" Tag="9"/>
<Button Content="÷" Grid.Row="3" Grid.Column="3" Style="{StaticResource OperatorButton}" Click="OperatorButton_Click" Tag="/"/>
<Button Content="%" Grid.Row="3" Grid.Column="4" Style="{StaticResource OperatorButton}" Click="OperatorButton_Click" Tag="%"/>
<Button Content="4" Grid.Row="4" Grid.Column="0" Click="NumberButton_Click" Tag="4"/>
<Button Content="5" Grid.Row="4" Grid.Column="1" Click="NumberButton_Click" Tag="5"/>
<Button Content="6" Grid.Row="4" Grid.Column="2" Click="NumberButton_Click" Tag="6"/>
<Button Content="×" Grid.Row="4" Grid.Column="3" Style="{StaticResource OperatorButton}" Click="OperatorButton_Click" Tag="*"/>
<Button Content="1" Grid.Row="5" Grid.Column="0" Click="NumberButton_Click" Tag="1"/>
<Button Content="2" Grid.Row="5" Grid.Column="1" Click="NumberButton_Click" Tag="2"/>
<Button Content="3" Grid.Row="5" Grid.Column="2" Click="NumberButton_Click" Tag="3"/>
<Button Content="-" Grid.Row="5" Grid.Column="3" Style="{StaticResource OperatorButton}" Click="OperatorButton_Click" Tag="-"/>
<Button Content="0" Grid.Row="6" Click="NumberButton_Click" Grid.ColumnSpan="2" Tag="0"/>
<Button Content="." Grid.Row="6" Grid.Column="2" Click="NumberButton_Click" Tag="."/>
<Button Content="+" Grid.Row="6" Grid.Column="3" Style="{StaticResource OperatorButton}" Click="OperatorButton_Click" Tag="+"/>
<Button Content="=" Grid.Row="4" Grid.Column="4" Grid.RowSpan="3" Style="{StaticResource OperatorButton}" Background="Orange" Click="EqualsButton_Click"/>
</Grid>
</Grid>
</Window>