WPF 后台添加单选按钮组。仅供学习参考

来源:互联网 发布:域名历史记录查询 编辑:程序博客网 时间:2024/05/01 17:50

//定义属性,方法 

List<RadioButton> RadioButtonMethod;

    private List<RadioButton> CreateRadioButtonGroupObjList(string p_groupName, string[] p_contents, string[] p_names, string[] p_tags, double[] p_widths, double[] p_heights, RoutedEventHandler p_routedEventHandler) {
      List<RadioButton> list = new List<RadioButton>();
      for (int i = 0; i < p_contents.Length; i++) {
        list.Add(CreateRadioButton(p_contents[i], p_groupName, p_names[i], p_tags[i], p_widths[i], p_heights[i], p_routedEventHandler));
      }
      return list;
    }
    private RadioButton CreateRadioButton(string p_content, string p_groupName, string p_name, string p_tag, double p_width, double p_height, RoutedEventHandler p_routedEventHandler) {
      RadioButton newObj = new RadioButton();
      newObj.Content = p_content;
      newObj.GroupName = p_groupName;
      newObj.Name = p_name;
      newObj.Width = p_width;
      newObj.Height = p_height;
      newObj.Tag = p_tag;
      newObj.Click += p_routedEventHandler;
      return newObj;
    }


    private void DrawRadioButtonGroup(Canvas p_canvas, List<RadioButton> p_radioButtonGroup, double p_left, double p_top, double p_margins, bool p_isHorizontal) {


      for (int c = 0; c < p_radioButtonGroup.Count; c++) {
        RadioButton obj = p_radioButtonGroup[c];
        if (p_isHorizontal) {
          Canvas.SetTop(obj, p_top);
          Canvas.SetLeft(obj, p_left + c * obj.Width + c * p_margins);
        } else {
          Canvas.SetTop(obj, p_top + c * obj.Height + c * p_margins);
          Canvas.SetLeft(obj, p_left);
        }
        p_canvas.Children.Add(obj);
      }
    }

private void RadioButton_Method_Click(object sender, RoutedEventArgs e) {
      RadioButton obj = (RadioButton)sender;

      obj.IsChecked = true;
    }


    //private void SetRadioButtonGroupChecked(List<RadioButton> p_radioButtonGroup, int p_index) {
    //  if (p_radioButtonGroup != null && p_radioButtonGroup.Count > 0) {
    //    foreach (RadioButton obj in p_radioButtonGroup) {
    //      if (obj.Tag.ToString() == p_index.ToString()) {
    //        obj.IsChecked = true;
    //      } else {
    //        obj.IsChecked = false;
    //      }
    //    }
    //  }
    //}


调用

//添加请求方式单选按钮

      RadioButtonMethod = CreateRadioButtonGroupObjList("RadioButton_Method", new string[] { "POST", "GET" }, new string[] { "", "" }, new string[] { "0", "1" }
        , new double[] { 60, 60 }, new double[] { 60, 60, }, RadioButton_Method_Click);

      DrawRadioButtonGroup(Canvas_Name, RadioButtonMethod, 400, 240, 5, true);


0 0
原创粉丝点击