2 x:Class="GraphCalc.Window1"
3 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
4 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
5 WindowTitle="GraphCalc"
6 PreviewKeyDown="OnPreviewKeyDown"
12 SizeChanged="WindowSizeChanged"
14 <Grid Name="calculator" >
16 <RadialGradientBrush x:Key="brush" GradientOrigin="0,0" Center="0.5,0.5" RadiusX="1.2" RadiusY="1.2">
17 <RadialGradientBrush.GradientStops>
18 <GradientStop Color="white" Offset="0" />
19 <GradientStop Color="gray" Offset="1" />
20 </RadialGradientBrush.GradientStops>
21 </RadialGradientBrush>
22 <Style TargetType="{x:Type Button}">
23 <Setter Property="Margin" Value="5,5,5,5"/>
24 <Setter Property="FontSize" Value="24"/>
25 <Setter Property="BorderBrush" Value="black"/>
26 <Setter Property="BorderThickness" Value="2"/>
27 <Setter Property="Background" Value="LinearGradient 0,0 0.03,.9 #ffcccccc #ffeeeeee"/>
29 <Style TargetType="{x:Type TextBox}">
30 <Setter Property="FontFamily" Value="Courier New"/>
34 <Grid.ColumnDefinitions>
36 </Grid.ColumnDefinitions>
39 </Grid.RowDefinitions>
42 <Rectangle StrokeThickness="2" Stroke="Black" Fill="{StaticResource brush}" RadiusX="10" RadiusY="10" />
43 <TextBlock Margin="0,1.5,15,0" HorizontalAlignment="Right" >
47 <Grid Background="#00000000" Margin="10,10,10,10">
48 <Grid.ColumnDefinitions>
50 <ColumnDefinition Width="325"/>
52 </Grid.ColumnDefinitions>
54 <RowDefinition Height="3*"/>
55 <RowDefinition Height="Auto" />
56 <RowDefinition Height="Auto" />
57 <RowDefinition Height="Auto" />
58 <RowDefinition Height="Auto" />
59 </Grid.RowDefinitions>
62 <Border Grid.ColumnSpan="3" Margin="5,5,5,5" BorderBrush="Black" BorderThickness="1.5">
63 <Grid Name="screen" Background="#ffeeeeee" ClipToBounds="True" MouseLeftButtonDown="OnCanvasClickStart" MouseLeftButtonUp="OnCanvasClickFinish" MouseMove="OnCanvasMouseMove" MouseRightButtonDown="OnCanvasRightClick" >
65 <RowDefinition Height="Auto" />
66 <RowDefinition Height="*" />
67 </Grid.RowDefinitions>
68 <Grid.ColumnDefinitions>
70 </Grid.ColumnDefinitions>
71 <!-- The following couple of items are placed in the same spot, but only one is visible at a time -->
73 <TextBox GotFocus="OnTextBoxGotFocus" Grid.Row="1" Name="screenText" IsReadOnly="True" VerticalScrollBarVisibility="Visible"/>
75 <!-- The purpose of the parent grid is to stretch the canvas -->
76 <Canvas Name="screenCanvas" Visibility="Collapsed" ClipToBounds="True" />
78 <Rectangle Name="selection" Grid.Row="1" Visibility="Collapsed" Stroke="Black" Fill="#00000000" StrokeDashOffset="5" StrokeThickness=".99" HorizontalAlignment="Left" VerticalAlignment="Top" StrokeDashArray="3 3" />
79 <Grid Name="function" Grid.Row="1" Visibility="Collapsed">
81 <Style TargetType="{x:Type TextBox}">
82 <Setter Property="MaxLines" Value="1"/>
83 <Setter Property="Margin" Value="5,0,5,0"/>
84 <Setter Property="FontFamily" Value="Courier New"/>
86 <Style TargetType="{x:Type TextBlock}">
87 <Setter Property="FontSize" Value="14"/>
88 <Setter Property="Margin" Value="5,5,5,5"/>
90 <Style TargetType="{x:Type Button}">
91 <Setter Property="FontSize" Value="14"/>
92 <Setter Property="Margin" Value="5,5,5,0"/>
96 <!-- grab the leftover space -->
97 <Grid.ColumnDefinitions>
98 <ColumnDefinition Width="Auto"/>
100 </Grid.ColumnDefinitions>
101 <Grid.RowDefinitions>
102 <RowDefinition Height="Auto"/>
103 <RowDefinition Height="Auto"/>
104 <RowDefinition Height="*" />
105 </Grid.RowDefinitions>
107 <TextBlock Grid.Row="0" Name="yLabel" />
108 <TextBox GotFocus="OnTextBoxGotFocus" Grid.Column="1" Name="y" MaxLines="1" TabIndex="0" />
109 <Grid Grid.Row="1" Grid.ColumnSpan="2" >
110 <Grid.ColumnDefinitions>
111 <ColumnDefinition Width="*" />
112 <ColumnDefinition Width="Auto" />
113 <ColumnDefinition Width="Auto" />
114 </Grid.ColumnDefinitions>
115 <Grid.RowDefinitions>
116 <RowDefinition Height="*" />
117 <RowDefinition Height="Auto" />
118 </Grid.RowDefinitions>
120 <Button Click="Graph" Grid.Column="1" Content="Graph it!" TabIndex="2" />
123 <Grid Name="functions2D" Grid.Row="1" Visibility="Collapsed">
125 <Style TargetType="{x:Type TextBox}">
126 <Setter Property="MaxLines" Value="1"/>
127 <Setter Property="Margin" Value="5,0,5,0"/>
128 <Setter Property="FontFamily" Value="Courier New"/>
130 <Style TargetType="{x:Type TextBlock}">
131 <Setter Property="FontSize" Value="14"/>
132 <Setter Property="Margin" Value="5,5,5,5"/>
134 <Style TargetType="{x:Type Button}">
135 <Setter Property="FontSize" Value="14"/>
136 <Setter Property="Margin" Value="5,5,5,0"/>
139 <Grid.RowDefinitions>
140 <RowDefinition Height="Auto"/>
141 <RowDefinition Height="Auto"/>
142 <RowDefinition Height="Auto"/>
143 <RowDefinition Height="Auto"/>
144 <RowDefinition Height="*" />
145 </Grid.RowDefinitions>
147 <Grid.ColumnDefinitions>
148 <!-- grab the leftover space -->
149 <ColumnDefinition Width="Auto" />
151 </Grid.ColumnDefinitions>
152 <TextBlock Grid.Row="0" Name="xtLabel" />
153 <TextBox GotFocus="OnTextBoxGotFocus" Grid.Column="1" Name="xt" MaxLines="1" TabIndex="0" />
154 <TextBlock Grid.Row="1" Name="ytLabel" />
155 <TextBox GotFocus="OnTextBoxGotFocus" Grid.Row="1" Grid.Column="1" Name="yt" MaxLines="1" TabIndex="1" />
156 <Grid Grid.Row="2" Grid.ColumnSpan="2" >
157 <Grid.RowDefinitions>
158 <RowDefinition Height="*" />
159 <RowDefinition Height="Auto" />
160 </Grid.RowDefinitions>
161 <Grid.ColumnDefinitions>
162 <ColumnDefinition Width="*" />
163 <ColumnDefinition Width="Auto" />
164 <ColumnDefinition Width="Auto" />
165 </Grid.ColumnDefinitions>
166 <Button Click="SpiralClicked" Grid.Column="1" Content="Spiral" TabIndex="2" />
167 <Button Click="EllipseClicked" Grid.Column="2" Content="Ellipse" TabIndex="2" />
169 <Grid Grid.Row="3" Grid.ColumnSpan="2" >
170 <Grid.RowDefinitions>
171 <RowDefinition Height="*" />
172 <RowDefinition Height="Auto" />
173 </Grid.RowDefinitions>
174 <Grid.ColumnDefinitions>
175 <ColumnDefinition Width="*" />
176 <ColumnDefinition Width="Auto" />
177 <ColumnDefinition Width="Auto" />
178 </Grid.ColumnDefinitions>
179 <Button Click="Graph" Grid.Column="1" Content="Graph it!" TabIndex="2" />
182 <Grid Name="functions3D" Grid.Row="1" Visibility="Collapsed">
184 <Style TargetType="{x:Type TextBox}">
185 <Setter Property="MaxLines" Value="1"/>
186 <Setter Property="Margin" Value="5,0,5,0"/>
187 <Setter Property="FontFamily" Value="Courier New"/>
189 <Style TargetType="{x:Type TextBlock}">
190 <Setter Property="FontSize" Value="14"/>
191 <Setter Property="Margin" Value="5,5,5,5"/>
193 <Style TargetType="{x:Type Button}">
194 <Setter Property="FontSize" Value="14"/>
195 <Setter Property="Margin" Value="5,5,5,0"/>
198 <Grid.RowDefinitions>
199 <RowDefinition Height="Auto"/>
200 <RowDefinition Height="Auto"/>
201 <RowDefinition Height="Auto"/>
202 <RowDefinition Height="Auto"/>
203 <RowDefinition Height="Auto"/>
204 <RowDefinition Height="Auto"/>
205 <RowDefinition Height="Auto"/>
206 <RowDefinition Height="*" />
207 </Grid.RowDefinitions>
209 <Grid.ColumnDefinitions>
210 <!-- grab the leftover space -->
211 <ColumnDefinition Width="Auto" />
213 </Grid.ColumnDefinitions>
215 <TextBlock Grid.Row="0" Name="fxLabel" />
216 <TextBox GotFocus="OnTextBoxGotFocus" Grid.Column="1" Name="fx" MaxLines="1" TabIndex="0" />
217 <TextBlock Grid.Row="1" Name="fyLabel" />
218 <TextBox GotFocus="OnTextBoxGotFocus" Grid.Row="1" Grid.Column="1" Name="fy" MaxLines="1" TabIndex="1" />
219 <TextBlock Grid.Row="2" Name="fzLabel" />
220 <TextBox GotFocus="OnTextBoxGotFocus" Grid.Row="2" Grid.Column="1" Name="fz" MaxLines="1" TabIndex="2" />
221 <Grid Grid.Row="3" Grid.ColumnSpan="2" >
223 <Grid.RowDefinitions>
224 <RowDefinition Height="*" />
225 <RowDefinition Height="Auto" />
226 </Grid.RowDefinitions>
227 <Grid.ColumnDefinitions>
228 <ColumnDefinition Width="*" />
229 <ColumnDefinition Width="Auto" />
230 <ColumnDefinition Width="Auto" />
231 <ColumnDefinition Width="Auto" />
232 </Grid.ColumnDefinitions>
233 <Button Click="SphereClicked" Grid.Column="1" Content="Sphere" TabIndex="3" />
234 <Button Click="ConeClicked" Grid.Column="2" Content="Cone" TabIndex="3" />
235 <Button Click="TorusClicked" Grid.Column="3" Content="Torus" TabIndex="3" />
237 <Grid Grid.Row="4" Grid.ColumnSpan="2" >
239 <Grid.RowDefinitions>
240 <RowDefinition Height="*" />
241 <RowDefinition Height="Auto" />
242 </Grid.RowDefinitions>
243 <Grid.ColumnDefinitions>
244 <ColumnDefinition Width="*" />
245 <ColumnDefinition Width="Auto" />
246 <ColumnDefinition Width="Auto" />
247 </Grid.ColumnDefinitions>
248 <Button Click="Graph" Grid.Column="1" Content="Solid Mesh" TabIndex="3" />
252 <Grid Name="options" Grid.Row="1" Visibility="Collapsed" >
254 <Style TargetType="{x:Type TextBox}">
255 <Setter Property="MaxLines" Value="1"/>
256 <Setter Property="Margin" Value="5,0,5,0"/>
257 <Setter Property="FontFamily" Value="Courier New"/>
259 <Style TargetType="{x:Type TextBlock}">
260 <Setter Property="FontSize" Value="14"/>
261 <Setter Property="Margin" Value="5,5,5,5"/>
263 <Style TargetType="{x:Type Button}">
264 <Setter Property="FontSize" Value="14"/>
265 <Setter Property="Margin" Value="5,5,5,0"/>
268 <Grid.RowDefinitions>
269 <RowDefinition Height="Auto" />
270 <RowDefinition Height="Auto" />
271 <RowDefinition Height="Auto" />
272 <RowDefinition Height="Auto" />
273 <RowDefinition Height="Auto" />
274 <RowDefinition Height="*" />
275 </Grid.RowDefinitions>
276 <Grid.ColumnDefinitions>
279 </Grid.ColumnDefinitions>
280 <TextBlock Grid.Row="0" Grid.Column="0" Name="xMinLabel" />
281 <TextBox GotFocus="OnTextBoxGotFocus" Grid.Row="0" Grid.Column="1" Name="xMin" MaxLines="1" />
282 <TextBlock Grid.Row="1" Grid.Column="0" Name="xMaxLabel" />
283 <TextBox GotFocus="OnTextBoxGotFocus" Grid.Row="1" Grid.Column="1" Name="xMax" MaxLines="1" />
284 <TextBlock Grid.Row="2" Grid.Column="0" Name="yMinLabel" />
285 <TextBox GotFocus="OnTextBoxGotFocus" Grid.Row="2" Grid.Column="1" Name="yMin" MaxLines="1" />
286 <TextBlock Grid.Row="3" Grid.Column="0" Name="yMaxLabel" />
287 <TextBox GotFocus="OnTextBoxGotFocus" Grid.Row="3" Grid.Column="1" Name="yMax" MaxLines="1" />
289 <Grid.RowDefinitions>
290 <RowDefinition Height="Auto" />
291 <RowDefinition Height="*" />
292 </Grid.RowDefinitions>
293 <Grid.ColumnDefinitions>
294 <ColumnDefinition Width="Auto" />
295 <ColumnDefinition Width="Auto" />
296 <ColumnDefinition Width="*" />
297 </Grid.ColumnDefinitions>
298 <Button Click="SaveOptions" Content="Save" />
299 <Button Click="ResetOptions" Grid.Column="1" Content="Reset" />
302 <Grid Name="options2D" Grid.Row="1" Visibility="Collapsed" >
304 <Style TargetType="{x:Type TextBox}">
305 <Setter Property="MaxLines" Value="1"/>
306 <Setter Property="Margin" Value="5,0,5,0"/>
307 <Setter Property="FontFamily" Value="Courier New"/>
309 <Style TargetType="{x:Type TextBlock}">
310 <Setter Property="FontSize" Value="14"/>
311 <Setter Property="Margin" Value="5,5,5,5"/>
313 <Style TargetType="{x:Type Button}">
314 <Setter Property="FontSize" Value="14"/>
315 <Setter Property="Margin" Value="5,5,5,0"/>
318 <Grid.RowDefinitions>
319 <RowDefinition Height="Auto" />
320 <RowDefinition Height="Auto" />
321 <RowDefinition Height="Auto" />
322 <RowDefinition Height="Auto" />
323 <RowDefinition Height="Auto" />
324 <RowDefinition Height="Auto" />
325 <RowDefinition Height="Auto" />
326 <RowDefinition Height="Auto" />
327 <RowDefinition Height="*" />
328 </Grid.RowDefinitions>
329 <Grid.ColumnDefinitions>
332 </Grid.ColumnDefinitions>
333 <TextBlock Grid.Row="0" Grid.Column="0" Name="xMin2DLabel" />
334 <TextBox GotFocus="OnTextBoxGotFocus" Grid.Row="0" Grid.Column="1" Name="xMin2D" MaxLines="1" />
335 <TextBlock Grid.Row="1" Grid.Column="0" Name="xMax2DLabel" />
336 <TextBox GotFocus="OnTextBoxGotFocus" Grid.Row="1" Grid.Column="1" Name="xMax2D" MaxLines="1" />
337 <TextBlock Grid.Row="2" Grid.Column="0" Name="yMin2DLabel" />
338 <TextBox GotFocus="OnTextBoxGotFocus" Grid.Row="2" Grid.Column="1" Name="yMin2D" MaxLines="1" />
339 <TextBlock Grid.Row="3" Grid.Column="0" Name="yMax2DLabel" />
340 <TextBox GotFocus="OnTextBoxGotFocus" Grid.Row="3" Grid.Column="1" Name="yMax2D" MaxLines="1" />
341 <TextBlock Grid.Row="4" Grid.Column="0" Name="tMin2DLabel" />
342 <TextBox GotFocus="OnTextBoxGotFocus" Grid.Row="4" Grid.Column="1" Name="tMin2D" MaxLines="1" />
343 <TextBlock Grid.Row="5" Grid.Column="0" Name="tMax2DLabel" />
344 <TextBox GotFocus="OnTextBoxGotFocus" Grid.Row="5" Grid.Column="1" Name="tMax2D" MaxLines="1" />
345 <TextBlock Grid.Row="6" Grid.Column="0" Name="tStep2DLabel" />
346 <TextBox GotFocus="OnTextBoxGotFocus" Grid.Row="6" Grid.Column="1" Name="tStep2D" MaxLines="1" />
348 <Grid.RowDefinitions>
349 <RowDefinition Height="Auto" />
350 <RowDefinition Height="*" />
351 </Grid.RowDefinitions>
352 <Grid.ColumnDefinitions>
353 <ColumnDefinition Width="Auto" />
354 <ColumnDefinition Width="Auto" />
355 <ColumnDefinition Width="*" />
356 </Grid.ColumnDefinitions>
357 <Button Click="SaveOptions2D" Content="Save" />
358 <Button Click="ResetOptions2D" Grid.Column="1" Content="Reset" />
361 <Grid Name="options3D" Grid.Row="1" Visibility="Collapsed" >
363 <Style TargetType="{x:Type TextBox}">
364 <Setter Property="MaxLines" Value="1"/>
365 <Setter Property="Margin" Value="5,0,5,0"/>
366 <Setter Property="FontFamily" Value="Courier New"/>
368 <Style TargetType="{x:Type TextBlock}">
369 <Setter Property="FontSize" Value="14"/>
370 <Setter Property="Margin" Value="5,5,5,5"/>
372 <Style TargetType="{x:Type Button}">
373 <Setter Property="FontSize" Value="14"/>
374 <Setter Property="Margin" Value="5,5,5,0"/>
377 <Grid.RowDefinitions>
378 <RowDefinition Height="Auto" />
379 <RowDefinition Height="Auto" />
380 <RowDefinition Height="Auto" />
381 <RowDefinition Height="Auto" />
382 <RowDefinition Height="Auto" />
383 <RowDefinition Height="Auto" />
384 <RowDefinition Height="Auto" />
385 <RowDefinition Height="*" />
386 </Grid.RowDefinitions>
387 <Grid.ColumnDefinitions>
390 </Grid.ColumnDefinitions>
391 <TextBlock Grid.Row="0" Grid.Column="0" Name="uMinLabel" />
392 <TextBox GotFocus="OnTextBoxGotFocus" Grid.Row="0" Grid.Column="1" Name="uMin" MaxLines="1" />
393 <TextBlock Grid.Row="1" Grid.Column="0" Name="uMaxLabel" />
394 <TextBox GotFocus="OnTextBoxGotFocus" Grid.Row="1" Grid.Column="1" Name="uMax" MaxLines="1" />
395 <TextBlock Grid.Row="2" Grid.Column="0" Name="uGridLabel" />
396 <TextBox GotFocus="OnTextBoxGotFocus" Grid.Row="2" Grid.Column="1" Name="uGrid" MaxLines="1" />
397 <TextBlock Grid.Row="3" Grid.Column="0" Name="vMinLabel" />
398 <TextBox GotFocus="OnTextBoxGotFocus" Grid.Row="3" Grid.Column="1" Name="vMin" MaxLines="1" />
399 <TextBlock Grid.Row="4" Grid.Column="0" Name="vMaxLabel" />
400 <TextBox GotFocus="OnTextBoxGotFocus" Grid.Row="4" Grid.Column="1" Name="vMax" MaxLines="1" />
401 <TextBlock Grid.Row="5" Grid.Column="0" Name="vGridLabel" />
402 <TextBox GotFocus="OnTextBoxGotFocus" Grid.Row="5" Grid.Column="1" Name="vGrid" MaxLines="1" />
404 <Grid.RowDefinitions>
405 <RowDefinition Height="Auto" />
406 <RowDefinition Height="*" />
407 </Grid.RowDefinitions>
408 <Grid.ColumnDefinitions>
409 <ColumnDefinition Width="Auto" />
410 <ColumnDefinition Width="Auto" />
411 <ColumnDefinition Width="*" />
412 </Grid.ColumnDefinitions>
413 <Button Click="SaveOptions3D" Content="Save" />
414 <Button Click="ResetOptions3D" Grid.Column="1" Content="Reset" />
419 <Menu Grid.Row="0" Name="menu" >
420 <MenuItem Header="Graph">
421 <MenuItem Name="graphNone" Click="ShowFunctionNone" />
422 <MenuItem Name="graph" Click="ShowFunction" />
423 <MenuItem Name="graph2D" Click="ShowFunction2D" />
424 <MenuItem Name="graph3D" Click="ShowFunction3D"/>
426 <MenuItem Header="Graph Options">
427 <MenuItem Name="graphOptions" Click="ShowOptions" />
428 <MenuItem Name="graphOptions2D" Click="ShowOptions2D" />
429 <MenuItem Name="graphOptions3D" Click="ShowOptions3D" />
436 GotFocus="OnTextBoxGotFocus"
440 TextBlock.TextAlignment="Right"
443 Background="#ffeeeeee"
446 <Grid Grid.Row="3" Grid.Column="1" >
448 <Style TargetType="{x:Type Button}">
449 <Setter Property="Margin" Value="5,5,0,0"/>
450 <Setter Property="Background">
452 <LinearGradientBrush StartPoint="0,0" EndPoint="0.03,0.9">
453 <LinearGradientBrush.GradientStops>
454 <GradientStop Offset="0.0" Color="#FF808080" />
455 <GradientStop Offset="1.0" Color="#FFA0A0A0" />
456 </LinearGradientBrush.GradientStops>
457 </LinearGradientBrush>
460 <Setter Property="Height" Value="25"/>
461 <Setter Property="Width" Value="38"/>
462 <Setter Property="BorderBrush" Value="Black"/>
463 <Setter Property="FontSize" Value="16"/>
464 <Setter Property="Foreground" Value="#ffe0e0e0"/>
468 <Grid.RowDefinitions>
471 </Grid.RowDefinitions>
472 <Grid.ColumnDefinitions>
480 </Grid.ColumnDefinitions>
481 <Button Grid.Row="0" Grid.Column="0" Content="sin" Click="AppendSin"/>
482 <Button Grid.Row="0" Grid.Column="1" Content="cos" Click="AppendCos"/>
483 <Button Grid.Row="0" Grid.Column="2" Content="tan" Click="AppendTan"/>
484 <Button Grid.Row="0" Grid.Column="3"
487 square a number (CTL-2)
490 <TextBlock>x<Span Typography.Variants="Superscript">2</Span></TextBlock>
493 <Button Grid.Row="0" Grid.Column="4" Click="AppendPow">
495 raise a number to the yth power (^)
498 x<Span Typography.Variants="Superscript">y</Span>
501 <Button Grid.Row="0" Grid.Column="5" FontFamily="Times New Roman" Content="?" Click="AppendPi"/>
502 <Button Grid.Row="0" Grid.Column="6" Content="e" Click="AppendE"/>
504 <Button Grid.Row="1" Grid.Column="0" Content="x" Click="AppendX" />
505 <Button Grid.Row="1" Grid.Column="1" Content="t" Click="AppendT" />
506 <Button Grid.Row="1" Grid.Column="2" Content="u" Click="AppendU" />
507 <Button Grid.Row="1" Grid.Column="3" Content="v" Click="AppendV" />
508 <Button Grid.Row="1" Grid.Column="4" Content="d/dx" Click="Differentiate" />
511 <Grid Grid.Row="4" Grid.Column="1" >
513 <Style TargetType="{x:Type Button}">
514 <Setter Property="Width" Value="50"/>
515 <Setter Property="Height" Value="30"/>
518 <Grid.RowDefinitions>
524 </Grid.RowDefinitions>
525 <Grid.ColumnDefinitions>
531 </Grid.ColumnDefinitions>
533 <Button Grid.Row="0" Grid.Column="0" Content="OFF" Background="red" BorderBrush="DarkRed" Foreground="lightgray" Click="Off" />
534 <Button Grid.Row="0" Grid.Column="1" Content="C" Click="Clear" />
535 <Button Grid.Row="0" Grid.Column="2" Content="M+" Click="MemoryAppend" />
536 <Button Grid.Row="0" Grid.Column="3" Content="MR" Click="MemoryRecall" />
537 <Button Grid.Row="0" Grid.Column="4" Content="MC" Click="MemoryClear" />
539 <Button Grid.Row="1" Grid.Column="0" Content="7" Click="Append7" />
540 <Button Grid.Row="1" Grid.Column="1" Content="8" Click="Append8" />
541 <Button Grid.Row="1" Grid.Column="2" Content="9" Click="Append9" />
542 <Button Grid.Row="1" Grid.Column="3" Content="(" Click="AppendLParen" />
543 <Button Grid.Row="1" Grid.Column="4" Content=")" Click="AppendRParen" />
545 <Button Grid.Row="2" Grid.Column="0" Content="4" Click="Append4" />
546 <Button Grid.Row="2" Grid.Column="1" Content="5" Click="Append5" />
547 <Button Grid.Row="2" Grid.Column="2" Content="6" Click="Append6" />
548 <Button Grid.Row="2" Grid.Column="3" Content="*" Click="AppendMult" />
549 <Button Grid.Row="2" Grid.Column="4" Content="/" Click="AppendDiv" />
551 <Button Grid.Row="3" Grid.Column="0" Content="1" Click="Append1" />
552 <Button Grid.Row="3" Grid.Column="1" Content="2" Click="Append2" />
553 <Button Grid.Row="3" Grid.Column="2" Content="3" Click="Append3" />
554 <Button Grid.Row="3" Grid.Column="3" Content="+" Click="AppendAdd" />
555 <Button Grid.Row="3" Grid.Column="4" Content="-" Click="AppendMinus" />
557 <Button Grid.Row="4" Grid.Column="0" Content="0" Click="Append0" />
558 <Button Grid.Row="4" Grid.Column="1" Content="." Click="AppendDecimal" />
559 <Button Grid.Row="4" Grid.Column="2" Content="+/-" Click="AppendNegate" />
560 <Button Grid.Row="4" Grid.Column="3" Content="=" Click="ComputeAnswer" />
561 <Button Grid.Row="4" Grid.Column="4" Content="ANS" Click="AppendAns" />