关于正确重新模板化 DataGrid
我最近遇到了关于滚动和焦点更改的这个问题。
我通过在 DataGrid
中添加以下内容解决了这个问题:
<DataGrid.Template>
<ControlTemplate>
<ItemsPresenter />
</ControlTemplate>
</DataGrid.Template>
现在滚动工作正常,但出现了一个新问题:DataGrid
的标题不再显示。这实际上是逻辑,因为现在我的 DataGrid
将仅显示 ItemsPresenter
而不处理标题。因此,我尝试定义一个适当的模板,首先显示标题,然后显示 ItemsPresenter
中的项目,以便我可以轻松滚动。 我只是错过了一些东西,还是需要覆盖不同的属性?
谢谢!
I recently had this problem about scrolling and focus changing.
I solved it by adding in my DataGrid
the following:
<DataGrid.Template>
<ControlTemplate>
<ItemsPresenter />
</ControlTemplate>
</DataGrid.Template>
The scrolling now works fine, but a new problem appeared: the DataGrid
's headers do not show anymore. It is actually logic, since now my DataGrid
will only show an ItemsPresenter
without taking care of the headers. I am therefore trying to define an appropriate template, showing first the headers and then the items in an ItemsPresenter
, allowing me to scroll easily.
Am I just missing something, or is that a different property to override?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
默认 DataGrid 模板如下所示(在 Classic 主题中):
请注意,它使用
DataGridColumnHeadersPresenter
。您还需要将其添加到您的模板中。This is what the default DataGrid template looks like (in the Classic theme):
Notice that it uses a
DataGridColumnHeadersPresenter
. You will want to add this to your template as well.