在WIndowsPhone8 上制作的简单的计算器

今天,闲着没事,就自己做了一个小小的计算器。。。虽说自己刚学wp8开发没多长时间,望大神多多指教。。
1.这是前台页面的代码

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="10,0,14,0">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="137*"/>
                <ColumnDefinition Width="91*"/>
            </Grid.ColumnDefinitions>
            <TextBox HorizontalAlignment="Right" Name="txtNum" TextWrapping="Wrap" VerticalAlignment="Top" Width="456" Margin="0,23,0,0" Grid.ColumnSpan="2" FontSize="29.333"/>
            <Canvas HorizontalAlignment="Left" Height="auto" Margin="10,102,0,0" VerticalAlignment="Top" Width="auto"/>
            <Grid HorizontalAlignment="Left" Height="591" Margin="10,95,0,0" VerticalAlignment="Top" Width="431" ShowGridLines="True" Grid.ColumnSpan="2" >
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="108*"/>
                    <ColumnDefinition Width="108*"/>
                    <ColumnDefinition Width="108*"/>
                    <ColumnDefinition Width="108*"/>
                </Grid.ColumnDefinitions>
                <Grid.RowDefinitions>
                    <RowDefinition Height="117*"/>
                    <RowDefinition Height="117*"/>
                    <RowDefinition Height="117*"/>
                    <RowDefinition Height="117*"/>
                    <RowDefinition Height="117*"/>
                </Grid.RowDefinitions>
                <Button Content="9"  Name="btn9" HorizontalAlignment="Left" Margin="0,10,0,0" VerticalAlignment="Top" Height="117" Width="106" FontSize="48" Click="btn9_Click"/>
                <Button Content="8"   Name="btn8" HorizontalAlignment="Left" Margin="106,9,0,0" VerticalAlignment="Top" Height="117" Width="106" Grid.ColumnSpan="2" FontSize="48" Click="btn8_Click"/>
                <Button Content="7"  Name="btn7" Grid.Column="1" HorizontalAlignment="Left" Margin="104,10,0,0" VerticalAlignment="Top" Height="117" Grid.ColumnSpan="2" Width="106" FontSize="48" Click="btn7_Click"/>
                <Button Content="+"  Name="btnAdd" Grid.Column="3" HorizontalAlignment="Left" Margin="5,9,-4,0" VerticalAlignment="Top" Height="117" Width="106" FontSize="48" Click="btnAdd_Click"/>
                <Button Content="6" Name="btn6" HorizontalAlignment="Left" Margin="0,9,0,0" Grid.Row="1" VerticalAlignment="Top" Height="117" Width="106" FontSize="48" Click="btn6_Click"/>
                <Button Content="5"  Name="btn5" Grid.Column="1" HorizontalAlignment="Left" Margin="0,10,0,0" Grid.Row="1" VerticalAlignment="Top" Width="106" Height="117" FontSize="48" Click="btn5_Click"/>
                <Button Content="4" Name="btn4" Grid.Column="2" HorizontalAlignment="Left" Margin="3,10,0,0" Grid.Row="1" VerticalAlignment="Top" Height="117" Grid.ColumnSpan="2" Width="106" FontSize="48" Click="btn4_Click"/>
                <Button Content="-"  Name="btnj" Grid.Column="3" HorizontalAlignment="Left" Margin="5,10,-4,0" Grid.Row="1" VerticalAlignment="Top" Height="117" Width="106" FontSize="48" Click="btnj_Click"/>
                <Button Content="3"  Name="btn3" HorizontalAlignment="Left" Margin="2,9,0,0" Grid.Row="2" VerticalAlignment="Top" Height="117" Width="106" FontSize="48" Click="btn3_Click"/>
                <Button Content="2"  Name="btn2" Grid.Column="1" HorizontalAlignment="Left" Margin="0,10,0,0" Grid.Row="2" VerticalAlignment="Top" Height="117" Width="106" FontSize="48" Click="btn2_Click"/>
                <Button Content="1" Name="btn1" Grid.Column="2" HorizontalAlignment="Left" Margin="5,10,0,0" Grid.Row="2" VerticalAlignment="Top" Height="117" Grid.ColumnSpan="2" Width="106" FontSize="48" Click="btn1_Click"/>
                <Button Content="*"  Name="btnchen" Grid.Column="3" HorizontalAlignment="Left" Margin="10,10,-9,0" Grid.Row="2" VerticalAlignment="Top" Height="117" Width="106" FontSize="48" Click="btnchen_Click"/>
                <Button Content="0"  Name="btn0" HorizontalAlignment="Left" Margin="0,10,0,0" Grid.Row="3" VerticalAlignment="Top" Height="117" Width="106" FontSize="48" Click="btn0_Click"/>
                <Button Content="."  Name="btnDot" Grid.Column="1" HorizontalAlignment="Left" Margin="0,9,0,0" Grid.Row="3" VerticalAlignment="Top" Height="117" Width="106" FontSize="48" Click="btnDot_Click"/>
                <Button Content="x^2" Name="pingfang" Grid.Column="2" HorizontalAlignment="Left" Margin="3,10,0,0" Grid.Row="3" VerticalAlignment="Top" Height="117" Grid.ColumnSpan="2" Width="106" FontSize="29.333" FontWeight="Bold" Click="pingfang_Click" />
                <Button Content="/"  Name="btnchu" Grid.Column="3" HorizontalAlignment="Left" Margin="10,10,-9,0" Grid.Row="3" VerticalAlignment="Top" Height="117" Width="106" FontSize="48" Click="btnchu_Click"/>
                <Button Content="清除" Name="btnq"  HorizontalAlignment="Left" Margin="-3,0,0,-2" VerticalAlignment="Top" Height="117" Width="209" FontSize="48"  Grid.Row="4" Grid.ColumnSpan="2" Click="btnq_Click_1"/>
                <Button Content="等于" Name="btndeng" Grid.Column="1" HorizontalAlignment="Left" Margin="104,0,-4,-2" VerticalAlignment="Top" Height="117" Grid.ColumnSpan="3" Width="223" FontSize="48" Grid.Row="4" Click="btndeng_Click_1"/>
            </Grid>
            <TextBox HorizontalAlignment="Left" Name="txtOld" Height="75" Margin="0,-40,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="456" Grid.ColumnSpan="2" FontSize="29.333"/>

        </Grid>
View Code

2. 这里是后台代码,我都写了注释。。

 private static string num;
        private static string sign;
        private void btn9_Click(object sender, RoutedEventArgs e)
        {
            txtNum.Text = txtNum.Text + "9";
        }

        private void btn8_Click(object sender, RoutedEventArgs e)
        {
            txtNum.Text = txtNum.Text + "8";
        }

        private void btn7_Click(object sender, RoutedEventArgs e)
        {
            txtNum.Text = txtNum.Text + "7";
        }

        private void btnAdd_Click(object sender, RoutedEventArgs e)    //加号
        {
            num = txtNum.Text;
            txtOld.Text = num;
            txtNum.Text = "";
            sign = "+";
        }

        private void btn6_Click(object sender, RoutedEventArgs e)
        {
            txtNum.Text = txtNum.Text + "6";
        }

        private void btn5_Click(object sender, RoutedEventArgs e)
        {
            txtNum.Text = txtNum.Text + "5";
        }

        private void btnq_Click_1(object sender, RoutedEventArgs e)   //清除
        {
           
            txtNum.Text = "";
            txtOld.Text = "";
            
        }

        private void btn4_Click(object sender, RoutedEventArgs e)
        {
            txtNum.Text = txtNum.Text + "4";

        }

        private void btnj_Click(object sender, RoutedEventArgs e)    //减号
        {
            num = txtNum.Text;
            txtOld.Text = num;
            txtNum.Text = "";
            sign = "-";
        }

        private void btn3_Click(object sender, RoutedEventArgs e)
        {
            txtNum.Text = txtNum.Text + "3";

        }

        private void btn2_Click(object sender, RoutedEventArgs e)
        {
            txtNum.Text = txtNum.Text + "2";

        }

        private void btn1_Click(object sender, RoutedEventArgs e)
        {
            txtNum.Text = txtNum.Text + "1";

        }

        private void btnchen_Click(object sender, RoutedEventArgs e)  //乘法
        {
            num = txtNum.Text;
            txtOld.Text = num;
            txtNum.Text = "";
            sign = "*";
        }

        private void btn0_Click(object sender, RoutedEventArgs e)
        {
            txtNum.Text = txtNum.Text + "0";

        }
        private void btnDot_Click(object sender, RoutedEventArgs e)   //小数点
        {
            txtNum.Text = txtNum.Text + ".";
        }

        private void pingfang_Click(object sender, RoutedEventArgs e)  //平方
        {
                     num = txtNum.Text.Trim();
            try
            {
                txtNum.Text = (double.Parse(num) * double.Parse(num)).ToString();
            }
            catch (Exception ex)
            {
                txtNum.Text = "Error";
                return;
            }
        }

        private void btndeng_Click_1(object sender, RoutedEventArgs e)  //等于
        {
            if (txtNum.Text =="")
            {
                return;
            }
            
            string bb=txtNum.Text.Trim();
            if (string.IsNullOrEmpty(num))
            {
                txtOld.Text =bb;
                txtNum.Text = "";
            }
            else
            {
                string endResult = GetResult(num, bb, sign);
                txtOld.Text = endResult;
                txtNum.Text = "";
                num = "";
            }

           
        }
        public string GetResult(string num,string m,string option)
        {
            try
            {
                double result1 = double.Parse(num);
                double mm = double.Parse(m);
                if (mm == 0 && option == "/")
                {
                    return "Error";
                }
                switch (option)
                {
                    case "+": return (result1 + mm).ToString(); break;
                    case "-": return (result1 - mm).ToString(); break;
                    case "*": return (result1 * mm).ToString(); break;
                    case "/": return (result1 / mm).ToString(); break;
                    default: return "Error";
                }
            }
            catch (Exception ex)
            {
                return "Error";
            }

        }

        private void btnchu_Click(object sender, RoutedEventArgs e) //
        {
            num = txtNum.Text;
            txtOld.Text = num;
            txtNum.Text = "";
            sign = "/";
        }
View Code

3.这是用wp8手机模拟的效果图片

原文地址:https://www.cnblogs.com/luoyangcn/p/3367046.html