更改数据网格的视口
我需要将数据网格的视口更改为最大值,以便所有行都在构造函数中传播。所以我使用了 Scrollview 并将行高设置为自动。
<ScrollViewer>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<DataGrid>
</DataGrid>
</Grid>
</ScrollViewer>
这会传播所有控件,但现在当我使用滚动条时,它也会移动标题行。我需要滚动条仅影响数据网格。
I need to change viewport of datagrid to maximum so all rows are propagated in constructor. So I used Scrollview with row height set to auto.
<ScrollViewer>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<DataGrid>
</DataGrid>
</Grid>
</ScrollViewer>
This propagates all controls but now when I use scrollbar it also moves header row. I need that the scrollbar will effect only datagrid.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我不明白这个说法
...代码中的
Viewport
设置在哪里?另外这个构造函数
是什么?您的术语令人困惑......但是我可以假设您想要的是数据网格完全渲染其行(行下方没有额外的空间)并占据网格面板上的条目。但是因为您在网格上使用了滚动查看器,所以它也会滚动数据网格标题。
如果您使用“Snoop”,您会发现 wpf datagrid 有一个滚动查看器作为其可视子项,并且在其自己的模板中有一个
Grid
面板,其中ScrollContentPresenter
位于一个Grid.Row
,其RowDefinition
的Height
为星号 (*)。使用下面给出的可视子元素提取方法,访问该网格后代并将其高度更改为自动。
监听父级的所有子级的方法...
XAML 方式
覆盖 dataGrid 控件模板...
I dont understand this statement
... where is the
Viewport
setting in the code? Also what is thisconstructor
? Your terminologies are confusing....However I can assume what you want is the datagrid to fully render its rows (without extra space below rows) and occupy that entriely over the grid panel. But because you have used a scroll viewer abone grid, it will scroll datagrid headers as well.
If you use "Snoop" you will find that wpf datagrid has a scroll viewer as its visual child and it has a
Grid
panel in its own template, there theScrollContentPresenter
is under aGrid.Row
which hasRowDefinition
that hasHeight
as asterick (*).Using visual children extraction method given below, accesss that Grid descendent and change its height to auto.
Method to snoop through all children of a parent...
The XAML way
Override the dataGrid Control template...