using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace BPASmartClient.CustomResource.UserControls { /// /// UserKeyBoard.xaml 的交互逻辑 /// public partial class UserKeyBoard : UserControl { public Action MyKeyDown; public UserKeyBoard() { InitializeComponent(); } //通过判断按钮的content属性来做对应处理 private void ButtonGrid_Click(object sender, RoutedEventArgs e) { Button clickedButton = (Button)e.OriginalSource; //获取click事件触发源,即按了的按钮 switch((String)clickedButton.Content) { case "DEL": MyKeyDown(EKeyitem.DEL); break; case "AC": MyKeyDown(EKeyitem.AC); break; case "确认": MyKeyDown(EKeyitem.OK); break; case "A/a": UIElementCollection grd = ButtonGrid.Children; int count = grd.Count; for (int i = 0; i < count; i++) { Button buttonTemp = grd[i] as Button; String contentTemp = buttonTemp.Content as String; if (contentTemp == "AC" || contentTemp == "A/a" || contentTemp == "确认" || contentTemp == "DEL") continue; buttonTemp.Content = contentTemp[0] > 90 ? contentTemp.ToUpper() : contentTemp.ToLower(); } break; default: MyKeyDown((String)clickedButton.Content); break; } } public enum EKeyitem { DEL, AC, Shift, OK, A } } }