private void FreqDlKeyDown(object sender, KeyEventArgs e) { bool shiftKey = (Keyboard.Modifiers & ModifierKeys.Shift) != 0; //判断shifu键是否按下 if (shiftKey == true) //当按下shift { e.Handled = true; //不可输入 } else//未按shift { if (!((e.Key >= Key.D0 && e.Key <= Key.D9) || (e.Key >= Key.NumPad0 && e.Key <= Key.NumPad9) || e.Key == Key.Delete || e.Key == Key.Back || e.Key == Key.Tab || e.Key == Key.Enter || e.Key == Key.Decimal || e.Key == Key.OemPeriod)) { e.Handled = true;//不可输入 } if (e.Key == Key.Enter) { FreqDl.MoveFocus(new TraversalRequest(FocusNavigationDirection.Next)); } } }
//初始化函数 private void InitFixedInfo()//初始化界面静态元素信息绑定 { Binding binding = new Binding(); binding = new Binding(); binding.Source = MainView; binding.Path = new PropertyPath("M_RATView.M_strWindowTitle"); binding.Mode = BindingMode.OneWay; MainWindow.SetBinding(Window.TitleProperty, binding); //频段内频率、信道的最大值最小值中间值 binding = new Binding(); binding.Source = MainView.M_RATView; binding.Path = new PropertyPath("M_BandInfoView.M_strDLMinInfo"); binding.Mode = BindingMode.OneWay; DLMinInfo.SetBinding(Label.ContentProperty, binding); binding = new Binding(); binding.Source = MainView.M_RATView; binding.Path = new PropertyPath("M_BandInfoView.M_strDLMLInfo"); binding.Mode = BindingMode.OneWay; DLMLInfo.SetBinding(Label.ContentProperty, binding); binding = new Binding(); binding.Source = MainView.M_RATView; binding.Path = new PropertyPath("M_BandInfoView.M_strDLMHInfo"); binding.Mode = BindingMode.OneWay; DLMHInfo.SetBinding(Label.ContentProperty, binding); binding = new Binding(); binding.Source = MainView.M_RATView; binding.Path = new PropertyPath("M_BandInfoView.M_strDLMaxInfo"); binding.Mode = BindingMode.OneWay; DLMaxInfo.SetBinding(Label.ContentProperty, binding); binding = new Binding(); binding.Source = MainView.M_RATView; binding.Path = new PropertyPath("M_BandInfoView.M_strULMinInfo"); binding.Mode = BindingMode.OneWay; ULMinInfo.SetBinding(Label.ContentProperty, binding); binding = new Binding(); binding.Source = MainView.M_RATView; binding.Path = new PropertyPath("M_BandInfoView.M_strULMLInfo"); binding.Mode = BindingMode.OneWay; ULMLInfo.SetBinding(Label.ContentProperty, binding); binding = new Binding(); binding.Source = MainView.M_RATView; binding.Path = new PropertyPath("M_BandInfoView.M_strULMHInfo"); binding.Mode = BindingMode.OneWay; ULMHInfo.SetBinding(Label.ContentProperty, binding); binding = new Binding(); binding.Source = MainView.M_RATView; binding.Path = new PropertyPath("M_BandInfoView.M_strULMaxInfo"); binding.Mode = BindingMode.OneWay; ULMaxInfo.SetBinding(Label.ContentProperty, binding); binding = new Binding(); binding.Source = MainView.M_RATView; binding.Path = new PropertyPath("M_BandInfoView.M_usChanSpacing"); binding.Mode = BindingMode.OneWay; ChanSpacing.SetBinding(Label.ContentProperty, binding); //绑定当前信道的信道号、频率值 binding = new Binding(); binding.Source = MainView.M_RATView; binding.Path = new PropertyPath("M_strDisplayFreUl"); binding.Mode = BindingMode.TwoWay; FreqUl.SetBinding(TextBox.TextProperty, binding); binding = new Binding(); binding.Source = MainView.M_RATView; binding.Path = new PropertyPath("M_strDisplayFreDl"); binding.Mode = BindingMode.TwoWay; FreqDl.SetBinding(TextBox.TextProperty, binding); binding = new Binding(); binding.Source = MainView.M_RATView; binding.Path = new PropertyPath("M_UDisplayChanUl"); binding.Mode = BindingMode.TwoWay; ChanUl.SetBinding(TextBox.TextProperty, binding); binding = new Binding(); binding.Source = MainView.M_RATView; binding.Path = new PropertyPath("M_UDisplayChanDl"); binding.Mode = BindingMode.TwoWay; ChanDl.SetBinding(TextBox.TextProperty, binding); binding = new Binding(); binding.Source = MainView.M_RATView; binding.Path = new PropertyPath("M_BandInfoView.M_strSingleDlHidden"); binding.Mode = BindingMode.OneWay; UlChanName.SetBinding(Label.VisibilityProperty, binding); ChanUl.SetBinding(Label.VisibilityProperty, binding); FreqUl.SetBinding(Label.VisibilityProperty, binding); UlName.SetBinding(Label.VisibilityProperty, binding); UlL.SetBinding(Label.VisibilityProperty, binding); UlML.SetBinding(Label.VisibilityProperty, binding); UlMH.SetBinding(Label.VisibilityProperty, binding); UlH.SetBinding(Label.VisibilityProperty, binding); ULMinInfo.SetBinding(Label.VisibilityProperty, binding); ULMLInfo.SetBinding(Label.VisibilityProperty, binding); ULMHInfo.SetBinding(Label.VisibilityProperty, binding); ULMaxInfo.SetBinding(Label.VisibilityProperty, binding); //在XML文件中把IsSingleUl添加进去 binding = new Binding(); binding.Source = MainView.M_RATView; binding.Path = new PropertyPath("M_BandInfoView.M_strSingleUlHidden"); binding.Mode = BindingMode.OneWay; DlChanName.SetBinding(Label.VisibilityProperty, binding); ChanDl.SetBinding(Label.VisibilityProperty, binding); FreqDl.SetBinding(Label.VisibilityProperty, binding); DlName.SetBinding(Label.VisibilityProperty, binding); DlL.SetBinding(Label.VisibilityProperty, binding); DlML.SetBinding(Label.VisibilityProperty, binding); DlMH.SetBinding(Label.VisibilityProperty, binding); DlH.SetBinding(Label.VisibilityProperty, binding); DLMinInfo.SetBinding(Label.VisibilityProperty, binding); DLMLInfo.SetBinding(Label.VisibilityProperty, binding); DLMHInfo.SetBinding(Label.VisibilityProperty, binding); DLMaxInfo.SetBinding(Label.VisibilityProperty, binding); }