wpf 自己写的添加Button 控件的方法,留存一份,供参考

//DazzleButton 自定义的button控件。

    

List<DazzleButton> dazButtonList;


//添加button到集合

      dazButtonList = new List<DazzleButton> { 
        CreateDazzleButton("1", new Thickness(52, 25, 276, 673), 86, 86, Button_PhoneNum_Click),
        CreateDazzleButton("2", new Thickness(164, 25, 164, 673), 86, 86, Button_PhoneNum_Click),
        CreateDazzleButton("3", new Thickness(278, 25, 50, 673), 86, 86, Button_PhoneNum_Click),


        CreateDazzleButton("4", new Thickness(52, 144, 276, 554), 86, 86, Button_PhoneNum_Click),
        CreateDazzleButton("5", new Thickness(164,144,164,554), 86, 86, Button_PhoneNum_Click),
        CreateDazzleButton("6", new Thickness(278,144,50,554), 86, 86, Button_PhoneNum_Click),


        CreateDazzleButton("7", new Thickness(52,264,276,434), 86, 86, Button_PhoneNum_Click),
        CreateDazzleButton("8", new Thickness(164,264,164,434), 86, 86, Button_PhoneNum_Click),
        CreateDazzleButton("9", new Thickness(278,264,50,434), 86, 86, Button_PhoneNum_Click),


        CreateDazzleButton("0", new Thickness(164,384,164,314), 86, 86, Button_PhoneNum_Click),
        CreateDazzleButton("dot", new Thickness(52,384,276,314), 86, 86, null)
      };


//调用方法,绘制button
      DrawDazzleButtonList(Grid_Main, dazButtonList, 1, 1);



//绘制button方法

 private void DrawDazzleButtonList(Grid p_grid, List<DazzleButton> p_list, int p_columnValue, int rowValue) {
      for (int c = 0; c < p_list.Count; c++) {
        DazzleButton obj = p_list[c];
        Grid.SetColumn(obj, p_columnValue);
        Grid.SetRow(obj, rowValue);
        p_grid.Children.Add(obj);
      }
    }


//创建一个button 控件

    private DazzleButton CreateDazzleButton(string p_tag, Thickness p_margin, double p_width, double p_height, RoutedEventHandler p_routedEventHandler) {
      DazzleButton zbut = new DazzleButton();
      zbut.Tag = p_tag;
      zbut.Name = "Button_PhoneNum_" + p_tag;


      string imgPage = "pack://application:,,,/ControlLibrary;component/resource/image/recharge/";
      zbut.MyEnterBrush = CreateImageBrush(imgPage + "but_" + p_tag + "_white.jpg");
      zbut.Background = CreateImageBrush(imgPage + "but_" + p_tag + "_blue.jpg");


      zbut.Margin = p_margin;


      zbut.Height = p_height;
      zbut.Width = p_width;


      if (p_routedEventHandler != null) {
        zbut.Click += p_routedEventHandler;
      }
      return zbut;
    }



    private ImageBrush CreateImageBrush(string p_img) {
      ImageBrush brush = new ImageBrush();
      brush.ImageSource = new BitmapImage(new Uri(@p_img, UriKind.Absolute));
      return brush;

    }


//点击事件

    private void Button_PhoneNum_Click(object sender, RoutedEventArgs e) {
      DazzleButton obj = (DazzleButton)sender;
      string tag = obj.Tag.ToString();


      InputNumber(tag);
    }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值