zoukankan      html  css  js  c++  java
  • # WPF DataGrid文本编辑验证

    1. dataGrid.Items.Count 得到dataGrid数量

    2. dataGrid.SelectedIndex 得到选择的Index

    3. JOBIN model = this.dataGrid.Items[Index] as JOBIN 得到JOB类型的选中行的model数据

    4. DataGrid文本编辑验证

      CellEditEnding = “DataGridCellEdit” // xaml 注册事件

      在DataGridCellEdit事件中 代码

      string newvalue = (e.EditingElement as TextBox).Text.ToUppe(); //等到当前编辑的文本内容

      int rowcount = this.getCellRow(dataGrid) ; //得到当前选中行的index

      model .[rowcount ].NewValue = newvalue ; //把当前输入的文本给到model 里面

    5. 在做一个项目时在gird上添加了右键菜单,可测试时在grid的空白区域就时弹不出菜单来。

      因为grid默认是Background="{x:Null}",无法获取到鼠标点击的EventArgs(就相当于空的面板)。 你设置成Background="Transparent" 透明色就可以实现了。

    6. 你可以使用控件的PreviewTextInput 事件来阻止控件接收某些输入的字符。

      要防止某个特定的字符输入到控件,你只要简单的设置TextCompositionEventArgs 类型参数的Handled 属性为true就可以。它将中断控件接收字符输入事件的路由。

      在XAML代码中注册事件:

      <TextBox Text="" HorizontalAlignment="Center" Width="150"     PreviewTextInput="TextBox_PreviewTextInput" />
      

      CS文件代码中实现事件处理函数:

      private void TextBox_PreviewTextInput(object sender, TextCompositionEventArgs e)    {        // No e's allowed        if ((e.Text == "e") || (e.Text == "E"))            e.Handled = true;    }
          
      

      我们组织了‘e’和‘E’这两个字符的输入,在TextBox 中输入这两个字符将不会被接收。

      在XAML代码中注册PreviewKeyDown 在CS文件事件中 e.Handled = true 禁止输入(去掉Input中的if判断)

  • 相关阅读:
    《流畅的Python》Data Structures--第7章 colsure and decorator
    CSS Reset 2.0标准
    Layout
    一个简单的例子 vux mutation改变状态
    __WEBPACK_IMPORTED_MODULE_3_vuex__.a is not a constructor
    vuex 使用
    (转)Vue-初步了解vue-router的三要素:路由map 、路由视图、路由导航
    router-link-active 和 router-link-exact-active router-link-active
    当前目录 根目录 写法
    mode: 'history', 去掉路由地址的#
  • 原文地址:https://www.cnblogs.com/DingGuo/p/13634892.html
Copyright © 2011-2022 走看看