问题标签 [wpfdatagrid]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wpf - WPF DataGrid 列宽和重新排序
我有一个 DataGrid 定义为
加载时看起来很棒。第一列适合内容和标题所需的最小宽度。第二列延伸以填充 DataGrid 的其余宽度(所以我没有第三个填充列)。但是,如果我尝试对列重新排序,则 AccountName 列的宽度无法调整为小于重新排序之前的宽度。所以我在 ColumnReordered 事件上添加了一个处理程序,认为我可以重置列宽,但它似乎不起作用。实际上,它会将 AccountId 列缩小到几乎没有,而 AccountName 列仍然无法缩小。
是否有更好的方法来处理列宽以及为什么列重新排序会破坏列调整大小的能力
.net - WPF DataGrid:重新排序行?
我正在创建一个 WPF 数据网格,我希望能够通过拖放来重新排序行,如下所示:我单击一行并将其向上或向下拖动。正如我所做的那样,如果我释放鼠标,一个标记会显示该行将被删除的位置。当我释放鼠标时,拖动的行将插入标记指示的位置。
有没有人看过任何展示如何做到这一点的文章或博客文章?如果不需要的话,我不想重新发明轮子,而且谷歌也没有提供任何东西。谢谢。
wpf - WPF DataGrid:将图像列标题变成资源?
我在 WPF DataGrid 中创建了一个复选框列,并将列标题设置为复选标记图像。这是我的标记:
我想将该标题转换为资源(例如,“CheckmarkHeader”,以便我可以使用数据网格列的 HeaderStyle 属性在其他网格中调用它 - 如下所示:
可以这样做吗?我该怎么做?谢谢你的帮助。
wpf - WPF DataGrid 最佳实践?
我正在开发一个基于 MVVM 的 WPF 应用程序,该应用程序使用DataGrid
. 网格数据绑定到ObservableCollection<Widget>
(Widget
列表)。用户需要能够将 aWidget
插入到 current-selected 下方的列表中Widget
,以删除 selectedWidget
并重新排序Widget
网格上的 s。我将通过拖放实现重新排序。
在深入研究之前,我想对我的方法进行一次现实检查。这是我打算做的事情:Widget
该类将具有一个Index
用于对Widget
列表进行排序的属性。添加、删除和重新排序将通过操作此 Index 属性来完成,排序将在Widget
列表上完成,而不是通过CollectionView
.
在DataContext
设置之前,Widget
列表将按Index
属性排序。当用户添加 aWidget
时,该Index
属性将Widget
在网格上所选项目的下方每增加 1,并且新的Widget
将被赋予通过重新编号打开的索引号。该Widget
列表将重新启用,并且绑定将被刷新。
当用户删除 aWidget
时,Widget
将从列表中删除,并且Index
已删除项目下方网格上项目的属性将减 1。Widget
列表将被重新使用,并且绑定刷新,如上。重新排序将作为删除和插入的组合完成。
这是我的问题:这是实现插入、删除和重新排序的合理策略吗?有没有更好的方法来解决它?关于这个主题的任何好的文章或博客文章?我看过,但我没有提出任何关于点的东西。
谢谢你的帮助。
wpf - WPF DataGrid:缺少空白行
我正在创建一个带有 的 WPF 窗口DataGrid
,并且我想在网格底部显示空白的“新项目”行,以便向网格添加新项目。出于某种原因,空白行未显示在我窗口的网格上。这是我用来创建的标记DataGrid
:
我不知道为什么没有显示空白行。我已经尝试了明显的东西(IsReadOnly="false"
,CanUserAddRows="True"
),但没有运气。知道为什么空白行被禁用吗?谢谢你的帮助。
c# - WPF Datagrid RowDetailsTemplate 可见性绑定到属性
我正在使用带有 RowDetails 面板的 WPF Datagrid,其中 RowDetailsVisibilityMode 设置为“VisibleWhenSelected”和 SelectionMode="Extended",以便可以选择多行并因此显示 RowDetails,如下所示:
不幸的是,对于此应用程序,在“选定”行上显示行详细信息并不直观,客户端希望单击多行上的复选框以显示“行详细信息”窗格,但也可以在网格中滚动选择其他行。换句话说,无论 DataGrid 上发生什么,都要修复显示 RowDetails 的行。
因此,当前滚动会关闭他们打开的 RowDetailsPanes。我想做的是在其中一列中有一个复选框,并将 RowDetails 面板可见性绑定到此属性,但我不知道该怎么做。问题很简单,RowDetailsPane 只对数据网格中的行选择进行操作——它可以以某种方式扩展以对我选择的属性进行操作吗?
提前致谢, 威尔
c# - 必须使用什么命名空间来获取 DataGridComboBoxColumn?
我正在 WPF 中用 C# 3.5 编写一个应用程序。我想以编程方式将 C# 中的 DataGridComboBoxColumn 添加到 WPF 工具包 DataGrid。问题是控件本身似乎不存在,因为我缺少指令或程序集。我认为 System.Windows.Controls 并通过添加对 WPFToolkit 的引用来处理这个问题,但它似乎不是......我错过了什么吗?
我觉得奇怪的是,在 XAML 中创建 DataGridComboBoxColumn 完全没有问题......
这是我要完成的一个示例:
*编辑:通过了解更多我的问题...我还想知道如何在 C# 中执行等效的 XAML:
c# - WPF Datagrid“全选”按钮 - “取消全选”?
我想知道是否可以向数据网格左上角的“全选”按钮添加功能,以便它也取消选择所有行?我有一个附加到执行此操作的按钮的方法,但是如果我可以从“全选”按钮触发此方法以将功能保持在视图的同一部分,那就太好了。这个“全选”按钮是否可以添加代码,如果可以,如何到达该按钮?我找不到任何示例或建议。
wpf - 我可以只有一行 WPF DataGrid 可编辑吗?
我有一个要显示给用户的数据集,但我只希望他们能够编辑最新(第一)行数据。我需要向他们显示其他数据行以供参考。我不必将所有内容都保存在同一个 DataGrid 中,但如果可能的话,我想这样做。
我是 WPF 的新手,因此非常感谢任何帮助/想法!
c# - 样式 WPF 数据网格中的第一行
我想更改 WPF Datagrid 中第一行(仅)的样式,但还没有找到如何做到这一点。我想知道如何创建一个触发器,如下所示:
但当然这不起作用,因为 DataGridRow 上没有“SelectedIndex”属性。我也曾尝试在我的代码中执行此操作,但无法使其正常工作。
这似乎是一件相当简单的事情,但我没有管理它,所以任何建议都将不胜感激。
谢谢,威尔