1
我有一个TabItem
里面有很多元素,我想让ListView
可以垂直滚动但是让按钮保持在顶部(不滚动)。我尝试在ScrollViewer
中包装ListView
,但它不会滚动。我可以将ScrollViewer
放在ItemsControl
之外,并更新RowDefinition Height="*"
以及包括按钮在内的所有内容滚动,但这不是我所需要的。ListView不会滚动垂直
XAML:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Menu Grid.Row="0" KeyboardNavigation.TabNavigation="Cycle">
<MenuItem Header="File">
<MenuItem Header="Exit" />
</MenuItem>
<MenuItem Header="Options" />
<MenuItem Header="Help" />
</Menu>
<TextBlock Grid.Row="1" Text="Test" Height="23" Width="Auto" HorizontalAlignment="Left" TextWrapping="Wrap"/>
<TabControl Grid.Row="2" >
<TabItem Header="TabItem1">
<ItemsControl>
<StackPanel Orientation="Horizontal">
<Button Command="{Binding Button1}" Width="150" Margin="5" Height="22" HorizontalAlignment="Left">Button1</Button>
<Button Command="{Binding Button2}" CommandParameter="{Binding ElementName=listView}" Width="150" Margin="5" Height="22" HorizontalAlignment="Left">Button2</Button>
</StackPanel>
<ScrollViewer>
<ListView Name="listView" Grid.Row="1" BorderThickness="0" ItemsSource="{Binding myItems}">
<ListView.View>
<GridView>
<GridViewColumn Header="ID" DisplayMemberBinding="{Binding ID}" Width="Auto" />
<GridViewColumn Header="Name" DisplayMemberBinding="{Binding Name}" Width="Auto" />
</GridView>
</ListView.View>
</ListView>
</ScrollViewer>
</ItemsControl>
</TabItem>
... Other tabs
</TabControl>
</Grid>
完美。感谢您的解释! – yellavon 2014-11-08 18:12:30
没问题@yellavon。很高兴帮助 – dkozl 2014-11-08 18:17:01