C# WPF数据网格子项垂直滚动
大家好 我正在进行的项目的第一步已经完成。然而,现在我看到了XAML结构中的一个新问题 我正试图弄清楚我希望如何最好地展示我的数据。目前,我认为使用DataGrid是合适的,因为绑定功能强大,DataGrid根据我的对象列表适当地填充项目。但是,垂直滚动条似乎只显示所有行,而不是数据列中的行,而且我的第二个数据列可能有一个很长的文本块 我对WPF的世界还很陌生,所以我非常感谢大家的意见!下面是我的窗口XAML代码:C# WPF数据网格子项垂直滚动,c#,wpf,datagrid,scrollviewer,vertical-scrolling,C#,Wpf,Datagrid,Scrollviewer,Vertical Scrolling,大家好 我正在进行的项目的第一步已经完成。然而,现在我看到了XAML结构中的一个新问题 我正试图弄清楚我希望如何最好地展示我的数据。目前,我认为使用DataGrid是合适的,因为绑定功能强大,DataGrid根据我的对象列表适当地填充项目。但是,垂直滚动条似乎只显示所有行,而不是数据列中的行,而且我的第二个数据列可能有一个很长的文本块 我对WPF的世界还很陌生,所以我非常感谢大家的意见!下面是我的窗口XAML代码: <Window x:Class="_puffDisplay.MainWin
<Window x:Class="_puffDisplay.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:_puffDisplay"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Grid>
<ScrollViewer VerticalScrollBarVisibility="Auto">
<DataGrid Name ="puffCoreView" HorizontalAlignment="Left" Height="400" Margin="10,10,0,0" VerticalAlignment="Top" Width="774" ItemsSource="{Binding}"
IsReadOnly="True"
AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header= "Puff #" Width="350" Binding="{Binding PuffNumber}"/>
<DataGridTextColumn Header="Puff Data" Width="350" Binding="{Binding Data}" ScrollViewer.VerticalScrollBarVisibility="Visible">
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
</ScrollViewer>
我需要了解如何允许用户在每行的第二列以及所有行中垂直滚动。有什么建议吗?使用带有ScrollViewer和TextBlock的DataGridTemplateColumn代替DataGridTextColumn。这里有一个可能性
<DataGridTemplateColumn Header="Puff Data" Width="350">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ScrollViewer MaxHeight="100">
<TextBlock Text="{Binding Data}" TextWrapping="Wrap"/>
</ScrollViewer>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
绝对做到了!非常感谢。附带问题:有没有建议让每个DataGrid列单独选择?我希望能够从单个单元格复制和粘贴数据,如果你知道我的意思的话!还有,你看过这个帖子吗?我尝试通过“Torvin”实现建议的代码,以使文本块中的文本可选择,但到目前为止,我没有看到文本突出显示。这是意料之中的吗?@KieranOjakangas不,我没有看到那篇帖子。我不明白。如果您想要可选文本,最明显的方法是使用文本框。