问题标签 [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.

0 投票
3 回答
1842 浏览

wpf - 禁用控件时WPF Datagrid取消选择行

我有一个程序,用户在其中选择 Datagrid 中的一行,然后单击“开始录制”按钮。在进行“录制”时,不允许他们更改在数据网格中选择的值,因此我将 IsEnabled 设置为 false。但是,当数据网格设置为禁用时,它会取消选择选定的行,这会破坏我对数据网格的 SelectedItem 属性的任何绑定。

即使控件被禁用,是否有任何方法可以保持选中数据网格行?

编辑:这在 Windows Vista 中不会发生,但在 Windows 7 中会发生。

0 投票
1 回答
1625 浏览

wpf - 主/详细 UI 最佳实践?

我们有一个 WPF 应用程序,它有一个主/详细信息窗口,两者都是 WPF 数据网格。当您在上部数据网格中选择一行时,详细信息将显示在下部数据网格中。我想知道从 UI 的角度来看是否有任何关于如何处理诸如以下问题的最佳实践:

  1. 当窗口第一次打开时,上层数据网格中没有选择任何数据行,因此下层网格中无法显示任何数据。这是正常的吗?还是通常在上部数据网格中选择了初始(顶部)行?
  2. When a row is selected and then deleted - does another row become the selected row? 还是您要进入无行选择状态?
  3. 如果可以选择多行,则在较低的数据网格中何时发生?显示最后一个选择?或者如果为这些多个对象选择了删除,那么焦点设置在哪里?或者选择哪一行?

我知道根据应用程序的编写方式,这些事情可能有很多不同的处理方式,但我想知道是否有一些标准的最佳实践?或者,对于 WPF 数据网格如何处理这些情况,是否有一些默认操作?

谢谢!账单

0 投票
2 回答
1576 浏览

wpf - 如何为 WPF Datagrid 中的所有单元格设置事件

我的 WPF Datagrid 上的每个单元格都需要OnDragEnter事件。我试过这个:

但似乎不起作用。任何想法的人?


编辑:感谢您的回复,我意识到我遇到了另一个问题:我真正的问题是TextBox控件总是将拖放事件标记为已处理,因此即使您设置AllowDrop="True"它也会看起来 AllowDrop 不起作用。这不是错误,这种行为实际上是设计使然。

我使用预览事件来预测这一点,并且能够处理 D'n'D 事件。

希望这可以帮助。
我将您的回答标记为答案,因为它们对最初的问题是准确的。

0 投票
1 回答
875 浏览

wpf - 为什么 WPFToolkit DataGrid 绑定时这么慢?

我有一个非常简单的测试应用程序,其中有两个对象,每个对象都有一小部分项目。当我选择一个对象时,我在 WPFToolkit DataGrid 中显示它的集合。

问题是存在明显的延迟,因此如果您按向上/向下键在对象之间切换选择,您会发现它无法跟上。

为什么性能这么差?

DataContext 填充了一些测试类,其中填充了 50 项随机测试数据。

0 投票
3 回答
17378 浏览

wpf - WPF - DataGrid 列标题对齐

我正在使用 WPFToolkit DataGrid 控件,我想重新设置一些列标题的样式,以便标题文本垂直而不是水平显示(列中的数据都是数字,因此不是很宽,但标题文本是长)。因此,我创建了一个 DataTemplate 并尝试将 DataGridColumn.HeaderTemplate 获取到它。这是我的模板:

这工作得很好,除了标题的对齐方式总是左居中。StackPanel 或 TextBlock 的对齐组合似乎没有任何区别。我想让文本在底部和中间对齐。我怎样才能让它做到这一点?

谢谢,

0 投票
7 回答
18540 浏览

wpf - WPF DataGrid 隐藏行详细信息或取消选择行

我有一个 DataGrid,它的 RowDetails 设置为在选择时显示(RowDetailsVisibilityMode="VisibleWhenSelected")。现在我希望能够摆脱它!我使用以下代码在行详细信息上放置了一个关闭按钮:

该代码使我达到了 90%,但是一旦为给定行折叠行详细信息,它将不会在下次选择该行时出现。

0 投票
1 回答
1757 浏览

wpf - WPF Datagrid 绑定到具有复杂类型的 DataTable

我有一个包含来自某个模型的数据的类。此类具有元数据以及实际值。

现在我还有一个 MyDataTable 类,它派生自具有各种逻辑的 DataTable。它调用服务器,获取一堆 ServerValues 并将它们放入行和列。

最后,我有一个绑定到 MyDataTable 的 WPF DataGrid 并显示数据,因为 DataGrid 在每个 ServerValue 上调用 ToString 并取回用于显示的值。到目前为止,万岁。

现在,我想要有两种方式的数据绑定,所以网格上的输入被写回 ServerValue。所以我想将网格单元绑定到 ServerValue 的 Value 属性,而不是 ServerValue 本身。

现在 DataGrid 单元格的 ServerValue 只是替换为一个字符串。我可以解决这个问题,但我会先尝试优雅的路线。

所以我在单元格中有一个复杂类型的数据表,我想要双向数据绑定到该类型的特定属性。

这可能吗?我一直在谷歌上搜索,对此我无能为力。

提前致谢,

约翰

0 投票
2 回答
17425 浏览

wpf - WPF:如何将数据网格的焦点设置到特定行?

我想将焦点放在数据网格的第一行。

这是我到目前为止所拥有的:

这会将焦点设置到数据网格,而不是行本身。

0 投票
2 回答
1830 浏览

wpf - WPF 4:DataGridColumnHeader 发生了什么?

DataGridColumnHeader 发生了什么?看起来它是在将 DataGrid 移入 PresentationFramework 时删除的。

0 投票
4 回答
10585 浏览

wpf - WPF DataGrid 编程多行选择

有什么比下面的示例更简单的吗?我确实有绑定到 DataGrid lstLinks 的可观察集合(代码中的“列表”)