//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;
}
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);
}