gpt4 book ai didi

wpf - WPF DataGrid 中允许滚动 RowDetail 内容的方法

转载 作者:行者123 更新时间:2023-12-02 22:08:18 26 4
gpt4 key购买 nike

我有一个数据网格,它显示包含两列文本行数据和一个更大的自由文本详细信息的项目,我通过仅包含边框和文本 block 的 rowdetails 模板显示该详细信息。

我遇到的问题是文本详细信息通常大于网格允许的区域。数据网格的默认滚动行为意味着用户无法在滚动跳转到下一项时查看整个详细信息。如果我使用

解决这个问题
ScrollViewer.CanContentScroll="False"

然后,当虚拟化关闭时,数据网格会变得非常慢,并且行数很大。

我确实认为我可以通过将 rowdetail 包装在滚动查看器中来解决这个问题,但这不起作用,因为细节区域不受渲染区域的限制。

那么,有人可以提供一些可用的选项吗?我的 WPF 知识非常少,所以如果有一些明显的方法可以解决这个问题,我深表歉意。

编辑:RowDetailsTemplate

<DataGrid.RowDetailsTemplate>
<DataTemplate >
<Border Background="Gray"
Padding="5,5,5,5" CornerRadius="5">
<TextBlock Background="Transparent"
Foreground="White"
TextWrapping="Wrap"
Text="{Binding Text}"/>
</Border>
</DataTemplate>
</DataGrid.RowDetailsTemplate>

最佳答案

为 RowDetails 添加 ScrollViewer 的一种方法是为 RowDetails 指定 MaxHeight,如下所示

<DataGrid ...>
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<Grid MaxHeight="75">
<ScrollViewer>
<Border HorizontalAlignment="Stretch" CornerRadius="5" Background="Black" Margin="5" Padding="5">
<TextBlock Text="{Binding RowDetails}" Foreground="#509CD5" FontSize="20" Width="300" TextWrapping="Wrap"/>
</Border>
</ScrollViewer>
</Grid>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
<DataGrid.Columns>
<!-- ... -->
</DataGrid>

关于wpf - WPF DataGrid 中允许滚动 RowDetail 内容的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4181637/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com