Tag: datagrid

如何从C#代码中扩展DataGrid列?

我在我的C#代码中创建了WPF DataGrid的列。 我希望其中一列自动拉伸到DataGrid的宽度。 在XAML中,我设置Width=”*” 。 我如何在代码中执行此操作? 编辑 一些答案似乎引导我找到正确的解决方案,但我觉得我需要详细说明我正在尝试做的事情: 我实际上是从DataGrid派生出一个新类。 在它的构造函数中,我添加了四列: this.IsReadOnly = true; this.AutoGenerateColumns = false; this.ItemsSource = m_dataSource; DataGridTextColumn anColumn = new DataGridTextColumn() { Header = “Col1”, Binding = new Binding(“B1”) }; DataGridTextColumn tpColumn = new DataGridTextColumn() { Header = “Col2”, Binding = new Binding(“B2”) }; DataGridTextColumn txColumn = new DataGridTextColumn() { Header = […]

WPF DataGrid – 编辑结束后单元格的新值

在我的系统中,我需要捕获并发送单元格编辑的旧值和新值。 我已经读过你可以通过检查事件DataGridCellEditEndingEventArgs的EditingElement来做到这一点: _dataGrid.CellEditEnding += (sender, e) => { var editedTextbox = e.EditingElement as TextBox; if (editedTextbox != null) MessageBox.Show(“Value after edit: ” + editedTextbox.Text); } 在我的例子中,数据是字典,因此EditingElement是ContentPresenter var editedTextbox = e.EditingElement as ContentPresenter; if (editedTextbox != null) MessageBox.Show(“Value after edit: ” + editedTextbox.Content); 内容是原始内容,而不是新编辑的值。 我怎样才能让它工作: _dataGrid.SomeEvent(sender, e)->{ SendValues(e.oldCellValue, e.newCellValue); }

清除wpf中的datagrid值

每次单击treeviewitem时,我都需要刷新我的datagrid 。 我的代码如下。 private void treeView1_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs e) { this.dataGrid1.Columns.Clear(); this.dataGrid1.ItemsSource= null; String path =this.treeView1.SelectedItem; if (!File.Exists(path)) MessageBox.Show(“Not Found”); else { ob.provider(path); // String data = @”C:\logs.xml”; string data = path; objref.functionality(data); this.dataGrid1.ItemsSource = objref.Result; } } 但每当我点击树视图项时,datagrid都不会被清除 – 它会附加传入的数据。 我使用了dataGrid1.Columns.Clear()和dataGrid.ItemSource= null; 我怎样才能做到这一点??

MVVM Datagrid默认选择第一行但未突出显示

我有一个datagrid绑定到我的ViewModel上的集合。 当窗口加载时,填充数据网格并设置SelectedItem。 (我知道这是因为我有一个绑定到所选项目的详细视图。)但是该行没有突出显示。 如果我点击该行,它将突出显示并正常工作。 当默认选择时,如何使所选行突出显示?

如何检查WPF DataGrid中当前是否可以看到滚动?

如何检查WPF DataGrid中当前是否显示滚动(垂直或水平)? Horizo​​ntalScrollBarVisibility和VerticalScrollBarVisibility用于设置行为,它们设置为Auto。

DataGrid – “双向绑定需要Path或XPath。”

我想在DataGrid上显示我的对象数据库 public class Student { public string Imie { get; set; } public string Nazwisko { get; set; } string Numer { get; set; } internal List Telefony { get; set; } internal Adres Adres { get; set; } } 在Adres和Telefon课程中,我显然有一些额外的领域。 我的XAML: 我可以很容易地设置Imie , Nazwisko和Numer字段但是当我试图设置Ulica的值( Adres类中的字段)编译器给我这个例外: InvalidOperationException was unhandled Two-way binding requires Path or XPath. […]

颜色整行而不是单个单元格

我一直试图改变Compact Framework DataGrid中一行的背景颜色,但由于.NET CF上的DataGrid与其Windows Forms对应物相比有限,因此几乎没有成功。 我实现目标的唯一成功是我现在能够根据其值改变单个单元格的背景颜色。 我无法操纵我从谷歌搜索获得的代码,因为我在C#中不是那么好。 但是,这是我的代码: namespace GridColor { public delegate void CheckCellEventHandler(object sender, DataGridEnableEventArgs e); public class DataGridEnableEventArgs : EventArgs { private int _column; private int _row; private bool _meetsCriteria; public DataGridEnableEventArgs(int row, int col, bool val) { _row = row; _column = col; _meetsCriteria = val; } public int Column { […]

使用CollectionView过滤DataTable时出现错误的原因?

标题为。 所以我成功地使用以下方法将DataTable放入我的CollectionView : ICollectionView _collectionView { get; set; } public ICollectionView collectionView {……} DataTable myDataTable= new DataTable(); myConnection.Open(); dbAdpater.Fill(myDataTable); myConnection.Close(); var collectionList= (newLeadTable as IListSource).GetList(); this.collectionView = CollectionViewSource.GetDefaultView(collectionList); 我知道列表中的每个对象都是DataRowView ,并且我通过迭代数据测试,我可以看到正确存储。 执行代码时, DataGrid正确显示。 但是一旦我添加了Filter: this.collectionView.Filter = new Predicate( (obj) => { return false; //Just for testing propose } ); 当我执行代码时给我错误: 无法创建程序集“TestWPF,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = […]

如何以编程方式将数据添加到WPF数据网格

如何在WPF中以编程方式将数据项添加到DataGrid但没有绑定? DataGrid有4列。

WPF Datagrid单元格,cellinfo和selectedcells +自定义选择

我想在WPF数据网格中操作选择,但是我对访问实际单元格并设置焦点并将它们标记为已选中存在问题。 任何人都可以解释一下:为什么没有一些简单的方法从** DatagridCellInfo **获取** DatagridCell **? 为什么几乎没有人在使用WPF数据网格? (我没看到很多Q / A投票) 有没有一种简单的方法如何为WPF数据网格创建自己的选择模式? 我的问题是什么 我想在不按Ctrl的情况下选择更多单元格(逐个)时在WPF Datagrid上进行自定义选择 。 我做得很好但是当我想取消选择一个选定的单元格时,我遇到了问题 – 只需单击它即可。 从列表中删除它不是问题。 问题在于,当它被点击时,它会成为焦点而且是高亮的,所有其他被选中的人都会关闭他们的暮色。 如果我选择另一个未选中的单元格,则所有选定的单元格将再次正确显示。 问题只出在取消选择中。 我的代码: XAML: 我已经在datagrid中填充了我制作的一些随机示例类对象的列表。 C#: private void DataGridCell_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e) { DataGridCell cell = sender as DataGridCell; DataGridCellInfo cellInfo = new DataGridCellInfo(cell); if ((cell.IsSelected)||(selectedList.Contains(cellInfo))||(selectedCellsList.Contains(cell))) { selectedList.Remove(cellInfo); selectedCellsList.Remove(cell); cell.IsSelected = false; mydatagrid.CurrentCell = selectedList[0]; […]