Tag: wpfdatagrid

更改WPF数据网格中滚动条的位置

我的C#WPF应用程序中的数据网格存在布局问题。 如果我的数据网格的内容无法在我的数据网格中显示,因为有很多行,则会显示滚动查看器(和滚动条)。 这是正确的方法,我很高兴。 问题是,我的数据网格中的scrollviewer的位置是错误的。 scrollviewer在标题行中开始,但Scrollbar显示在我的内容的第一行中。 在标题中有一个白色的纠结。 这是因为我的数据网格的背景是白色的。 但我标题的背景是灰色的。 我上传了一张带有红色箭头的图片来澄清我的问题。 白色的视角看起来很难看,所以在我看来这是更改滚动查看器位置的更好方法,所以它从内容的第一行开始。 也许有另一种可能性来解决这个问题? “使用Scrollviewer进行数据网格化” – 图像: 感谢任何提示,这将有助于我解决问题! 最好的问候,Flasher

WPF DataGrid GroupStyle

我在WPF中有两个组的以下DataGrid 。 第一组是bool标志,表示一个人是否处于活动/非活动状态。 第二组(或子组)是每个人的ID。 每个人都可以拥有多个城市,因此可以对ID进行分组,因为每个人在DataGrid都会显示多个。 这是XAML: 一切正常 ! 但是,我不喜欢每个子组的蓝色行。 我想要实现的是下图中的分组样式: 对于每个子组,我希望编辑按钮和ID每人只出现一次。 我该怎么办? 是否可以仅在XAML中使用,还是应该删除代码隐藏中的reduntant内容? 编辑 这里有一些测试数据: public class Person { public Person(bool active, int id, string name, string city) { Active = active; ID = id; Name = name; City = city; } public bool Active { get; set; } public int ID { get; set; […]

在WPF中打开ContextMenu时保留DataGrid IsSelectionActive?

我有一个DataGrid ,它具有IsSelectionActive的样式; 但是,一旦ContextMenu打开,网格就会丢失IsSelectionActive并且用户看起来好像上下文菜单以某种方式进行了选择并且可能会使用户感到困惑。 有没有办法在上下文菜单打开时保留IsSelectionActive ? <!—->

WPF DataGrid行标题可见性错误

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

如何在WPF Datagrid中更改行的样式?

我是WPF的新手,需要帮助在运行时设置数据网格中的特定行或样式,具体取决于存储数据的某些值。 我看到了这个线程,但无法从设计中存在的列中检索出仅存在于运行时的行问题。 任何一个例子都会很乐意接受。 谢谢! 编辑:我也找到了这个post ,但我需要一个C#代码……

多级标题GridView WPF

我需要将listview视图设置为gridview,它具有像这样的复杂标题(基于我创建的3维对象列表): | ———- LEVEL 0 ———— | | — Level 1a — | — Level 1b — | | Lvl A | Lvl B | Lvl A | Lvl B | 编辑:这是我的对象模型更少 public class Measures { public string Caption { get; set; } public List ThresholdList { get; set; } } public class Threshold { […]

DataGrid的CellEditingTemplate并专注于编辑模式

当自定义列提供CellTemplate和CellEditingTemplate时,我遇到了WPFToolkit DataGrid的问题。 如果你看一下下面,你会看到我的编辑模板有一个CheckBox 。 在function意义上一切都很好,但是当点击F2来编辑单元格时,还必须点击TAB才能使CheckBox获得焦点。 理想情况下,人们会点击F2和SPACE来切换值。 目前,必须打F2,TAB,SPACE。 我试过设置TabIndex无济于事。 我的想法已经不多了。

WPF Datagrid RowDetailsTemplate绑定到属性的可见性

我正在使用带有RowDetails面板的WPF Datagrid,其中RowDetailsVisibilityMode设置为“VisibleWhenSelected”,SelectionMode =“Extended”,以便可以选择多行,从而显示RowDetails,如下所示: … 遗憾的是,对于此应用程序,在“选定”行上显示行详细信息并不直观,客户端希望单击多行上的复选框以显示RowDetails窗格,还可以在网格中滚动选择其他行。 换句话说,无论DataGrid上发生什么,都要修复显示RowDetails的行。 因此,目前滚动关闭他们已打开的RowDetailsPanes。 我想要做的是在其中一个列中有一个复选框,并将RowDetails面板可见性绑定到此属性,但我无法弄清楚如何执行此操作。 问题只是RowDetailsPane只对数据网格中的行选择进行操作 – 它能以某种方式扩展以对我选择的属性进行操作吗? 先谢谢,威尔

如何检测我的ObservableCollection中的项是否已更改

我有一个绑定到ObservableCollection 。 更新网格后,这会自动更新集合中的Product对象。 我现在要做的是在集合中的任何对象被更新时触发某种甚至触发 – 或者 – 某种类型的绑定到集合,如果任何产品已经更新,它将返回真/假的depedant。 总体目标是在我的主窗口上有一个保存按钮,如果没有对我的集合进行任何更改,则该按钮被禁用,如果已经进行了更改,则启用该按钮。 我已经阅读了INotifyPropertyChange但我没有看到我如何使用它来监控整个集合的变化。 另外,如果我在我的Product类上实现这个接口,我不会看到我的UI如何监视集合中的每个产品 – 或者它可以吗?

当AutoGenerateColumns = True时,如何重命名DataGrid列?

我有一个简单的数据结构类: public class Client { public String name {set; get;} public String claim_number {set; get;} } 我正在加入DataGrid : this.data_grid_clients.ItemSource = this.clients; 我想改变列标题。 即:声明号码为“索赔号”。 我知道这可以通过执行以下操作手动创建列来完成: this.data_grid_clients.Columns[0].Header = “Claim Number” 但是,在自动生成列时, Columns属性为空。 有没有办法重命名列,还是我必须手动生成列?