C# 填充itemsource模板时无法显示滚动条
我花了很长时间试图弄清楚如何让滚动条处理数据列表:C# 填充itemsource模板时无法显示滚动条,c#,wpf,xaml,C#,Wpf,Xaml,我花了很长时间试图弄清楚如何让滚动条处理数据列表: <Grid Grid.Row="1"> <ItemsControl ItemsSource="{Binding AllItems}" ScrollViewer.VerticalScrollBarVisibility="Visible" ScrollViewer.CanContentScroll="True"> <ItemsControl.ItemTempl
<Grid Grid.Row="1">
<ItemsControl ItemsSource="{Binding AllItems}" ScrollViewer.VerticalScrollBarVisibility="Visible" ScrollViewer.CanContentScroll="True">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid VerticalAlignment="Center" Margin="0,6,0,0" >
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="150"/>
</Grid.ColumnDefinitions>
<TextBox Width="Auto" Margin="18,0,0,0"
Text="{Binding ItemsProp1}"
IsReadOnly="True"/>
<ComboBox HorizontalAlignment="Left" VerticalAlignment="Top" Width="120" Grid.Column="1"
IsReadOnly="True"
ItemsSource="{Binding ItemsProp2}"
SelectedItem="{Binding ItemsProp3}" Margin="6,0,0,0"/>
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
我见过使用ItemTemplate而不是DataTemplate的例子,所以我甚至不确定使用DataTemplate是否可行
我曾尝试将scrollviewer添加到网格中,但也没有成功。我还尝试在ItemsControl元素上方定义scrollviewer。当滚动出现时,它实际上仍然没有滚动 如果要将
ScrollViewer
添加到模板中的网格
,则将其添加到每个单独的项目中,而不是整个列表中
最简单的解决方案是将列表本身包装在一个ScrollViewer
:
<ScrollViewer>
<ItemsControl>
.....
</ItemsControl>
</ScrollViewer>
.....
感谢您的回复。我提到我也试过这么做,但滚动条不起作用。。我想知道这是否与gridBy的高度有关。我的意思是scrollviewer是可见的,我的数据离开屏幕,我无法实际滚动。我需要设置scrollviewer的最大高度-_-