WPF 加法计算案例

int.Parse()是一种类容转换;表示将数字内容的字符串转为int类型。 如果字符串为空,则抛出ArgumentNullException异常; 如果字符串内容不是数字,则抛出FormatException异常; 如果字符串内容所表示数字超出int类型可表示的范围,则抛出OverflowException异常; int.TryParse 与 int.Parse 又较为类似,但它不会产生异常,转换成功返回 true,转换失败返回 false。最后一个参数为输出值,如果转换失败,输出值为 0

第一步:写UI控件及数据依赖

<StackPanel>
        <Label Content="number 1"> </Label>
        <TextBox Width="200" Margin="30" Text="{Binding Path=Num1 ,Mode=TwoWay}" ></TextBox>
        <Label Content="number 2"></Label>
        <TextBox Width="200" Margin="30" Text="{Binding Path=Num2 ,Mode=TwoWay}" ></TextBox>
        <Label Content="resule"></Label>
        <TextBox Width="200" Margin="30" Text="{Binding Path=Result ,Mode=TwoWay}" ></TextBox>
    </StackPanel>

第二步:写Sum类

 public class Sum : INotifyPropertyChanged

//该接口有一个事件,在属性发生改变时通知客户端
    {
        public event PropertyChangedEventHandler? PropertyChanged;

        private void OnpropertyChanged(string property) 
        {
            if (PropertyChanged == null) 
            {
                return;
            }

            //属性改变时通知客户端
            PropertyChanged(this, new PropertyChangedEventArgs(property));
        }
        private string _num1;//加法第一个元素属性
        private string _num2;//加法第二个元素属性
        private string _result;//加法的运算结果

        public string Num1 //封装
        {
            get { return _num1; }
            set 
            {
                int number;
                bool result= int.TryParse(value, out number);//转换成功则返回True
                if (result) 
                {
                    _num1 = value;
                    OnpropertyChanged("Num1");
                    OnpropertyChanged(_result);
                }
            }
        }
        public string Num2 
        {
            get { return _num2; }
            set 
            {
                int number;
                bool result=int.TryParse(value, out number);
                if (result)
                {
                    _num2 = value;
                    OnpropertyChanged("Num2");
                    OnpropertyChanged(_result);
                }
            }
        }
        public string Result 
        {
            get 
            {
                int result=int.Parse(_num1)+int.Parse(_num2);
                return result.ToString();
            }
            set 
            {
                int result = int.Parse(_num1) + int.Parse(_num2);
                _result = result.ToString();
                OnpropertyChanged(_result);
            }
        }
    }

第三部:UI 的逻辑树中进行绑定

 public Sum Sum { get; set; } //增加一个属性
        public MainWindow()
        {
            InitializeComponent();
            Sum = new Sum() {Num1="1",Num2="2"};//初始化计算
            this.DataContext = Sum;//绑定数据
        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神奇的喵啊喵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值