草庐IT

DataGrid1

全部标签

c# - WPF Datagrid "Select All"按钮 - "Unselect All"也是?

我想知道是否可以向数据网格左上角的“全选”按钮添加功能,以便它也取消选择所有行?我有一个方法附加到执行此操作的按钮,但如果我可以从“全选”按钮触发此方法以将功能保留在View的同一部分,那就太好了。这个“全选”按钮可以添加代码吗?如果可以,如何找到该按钮?我找不到任何示例或建议。 最佳答案 好的,经过大量搜索后,我发现了如何从ColinEberhardt那里找到按钮,在这里:Stylinghard-to-reachelementsincontroltemplateswithattachedbehaviours然后我在他的类中扩展了“

c# - DataGrid 列具有不同的色调

我有一个WPFDataGrid,我希望某些列具有不同的颜色。我找到了关于硬设置背景的帖子,但我想要更平滑的东西。它应该适合鼠标悬停和选择操作,并相应地着色,但色调不同。我想让“默认”列、重要列和“只读”列的区别可视化。类似于上面的内容。不同颜色的列,但如果选择行,颜色仍会稍微改变。但是如何呢? 最佳答案 一种解决方案是在自动生成列时设置正确的CellStyle。在下面的Xaml中,我为DataGridCell的默认状态提供了一种样式,它响应鼠标悬停、焦点、选择等。其他状态(例如读取-only,extended,...)可以用相同的方

c# - WPF Datagrid - 单击 DataGrid 中的空格时取消选择选定的项目

默认行为是使用CTRL+Click取消选择Datagrid中的项目我希望能够通过鼠标单击(左键或右键)网格中的空白区域并让它取消选择任何选定的项目。我已经用谷歌搜索死了,发现了一些非常复杂的解决方法,但我希望有一个简单的解决方案。编辑:我现在改用ListView,但仍未找到解决方案。不过,ListView稍微不那么烦人,因为它们的样式更好。 最佳答案 我有同样的问题,并找到了解决方案。这应该内置于行为中:privatevoiddataGrid1_MouseLeftButtonDown(objectsender,MouseButton

c# - WPF DataGrid 行标题可见性错误

我正在使用DataGrid来显示多个字段,其中之一是多行描述。在我尝试通过设置HeadersVisibility="Column"隐藏标题行之前,网格显示数据很好。标题行消失了,但是当我滚动时,一些随机行的行标题重新出现。我已将其缩小到显示多行描述的列。只要我离开这个专栏,那么我就没有这个问题。我尝试用"\r\n"和"\n"分隔行,但都不起作用。DataGrid是否支持多行文本字段?下面的图片显示了正在发生的事情以及我用来创建网格的XAML。 最佳答案 尝试设置RowHeaderWidth=0而不是HeaderVisibility

c# - WPF DataGrid 未在 PropertyChanged 上更新

我在使用NotifyPropertyChanged单击按钮时更新我的​​数据网格时遇到问题。如果我在后面的代码中设置DataGrid.ItemsSource它会起作用,但如果我在xaml中设置它则不会。这是一些代码背后的代码&xaml:namespaceMyWpfDataBindingLab{publicpartialclassNpcWindow:Window{DataCollectiondc=newDataCollection();publicNpcWindow(){InitializeComponent();//commandbindingcode//...}privatevoid

c# - DataTable 作为 DataGrid.ItemsSource

嗨,我想绑定(bind)一个DataTable多列到DataGrid在代码隐藏中vardt=newDataTable();dt.Columns.Add(newDataColumn("1"));dt.Columns.Add(newDataColumn("2"));dt.Columns.Add(newDataColumn("3"));dt.Rows.Add(ff.Mo);dt.Rows.Add(ff.Di);dt.Rows.Add(ff.Mi);dt.Rows.Add(ff.Do);dt.Rows.Add(ff.Fr);dt.Rows.Add(ff.Sa);dt.Rows.Add(ff.S

c# - 在 WPF 中筛选 DataGrid

我用这个在数据网格中加载对象列表:dataGrid1.Items.Add(model);模型成为数据库中的数据。它有一个Id(int)、Name(string)和Text(string)在我的数据网格中,我只显示了模型的名称。当我在文本框中输入内容时,现在如何过滤数据网格?我在这个页面:http://msdn.microsoft.com/en-us/library/vstudio/ff407126(v=vs.100).aspx但我不明白那里的代码,我无法解释我应该如何为我的问题转置它。 最佳答案 有多种方式来过滤Collection

c# - 是否有可能以 mvvm 模式在 wpf datagrid 上获取动态列?

我正在用wpf开发一个产品(使用MVVM模式)。根据用户的自定义(用户将选择列),我必须将一组数据显示到数据网格中。目前,我正在将具有一组属性的ObservableCollection绑定(bind)到数据网格的ItemSource。这将我限制为固定的列大小。注意:列出n个列名供用户选择。如果它在后面的代码中完成,则通过“datagrid.columns.add()”很容易。在这种情况下,任何人都可以帮助我吗。我的xaml:我的命令类:publicstaticclassDataGridExtension{publicstaticObservableCollectionGetColumn

c# - datagrid-cell 获得焦点时自动编辑 WPF datagrid 内容

我在WPF中有一个带有DataGridTextColum和DataGridTemplateColum的数据网格。CellTemplateSelectors为Celltemplate返回一个带有TextBlock的DataTemplate。用于CellEditing的文本框!现在我想在DataGridCell获得焦点时自动聚焦TextBox。用户无需双击单元格即可编辑文本框内容。我找到了这篇文章:DataGridTips&Tricks:Single-ClickEditing我可以在哪里获取当前DataGridCell,但我如何访问内容以使文本框获得编辑内容的焦点?这是我的风格:这是我的事

c# - 如何将 DataGrid 单元格值复制到剪贴板

我有一个DataGrid。但我想在CopyingRowClipboardContent事件中获得焦点单元格值。但由于SelectionUnit,e.ClipboardRowContent返回所有选定的单元格值。而且我不能更改数据网格的选择单元。为了解决这个问题,我需要获得聚焦的单元格列号。然后我将从clipboarcContent中删除所有列值。如何在CopyingRowClipboardContent事件中获取焦点单元格? 最佳答案 Farhad答案的改进版本privatevoidDataGrid_CopyingRowClipbo