-
dataGrid.Items.Count 得到dataGrid数量
-
dataGrid.SelectedIndex 得到选择的Index
-
JOBIN model = this.dataGrid.Items[Index] as JOBIN 得到JOB类型的选中行的model数据
-
DataGrid文本编辑验证
CellEditEnding = “DataGridCellEdit” // xaml 注册事件
在DataGridCellEdit事件中 代码
string newvalue = (e.EditingElement as TextBox).Text.ToUppe(); //等到当前编辑的文本内容
int rowcount = this.getCellRow(dataGrid) ; //得到当前选中行的index
model .[rowcount ].NewValue = newvalue ; //把当前输入的文本给到model 里面
-
在做一个项目时在gird上添加了右键菜单,可测试时在grid的空白区域就时弹不出菜单来。
因为grid默认是Background="{x:Null}",无法获取到鼠标点击的EventArgs(就相当于空的面板)。 你设置成Background="Transparent" 透明色就可以实现了。
-
你可以使用控件的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判断)