0
У меня есть ListView внутри ScrollViewer. Я ожидаю, что выбранный элемент всегда будет виден, что означает, что ScrollViewer выводит его в поле зрения. Однако этого не происходит. Что мне не хватает?ListView внутри ScrollViewer: выбранный элемент не отображается
Это XAML:
<Window x:Class="tt.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:tt"
Title="MainWindow" Height="250" Width="200">
<Grid>
<ScrollViewer>
<ListView ItemsSource="{Binding MyData}" VerticalAlignment="Stretch" VerticalContentAlignment="Stretch"
IsSynchronizedWithCurrentItem="True">
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid Margin="5" Background="AliceBlue">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Button>xx</Button>
<TextBlock Grid.Row="1" Text="{Binding}" Margin="20"/>
<TextBlock Grid.Row="2" Text="{Binding}" Margin="20"/>
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ListView>
</ScrollViewer>
</Grid>
</Window>
Это код (установка 11-й элемент в качестве выбранного элемента):
public partial class MainWindow : Window, INotifyPropertyChanged
{
public ObservableCollection<String> MyData { get; set; }
ICollectionView dedaultView;
public MainWindow()
{
InitializeComponent();
MyData = new ObservableCollection<string>() {
"one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve"
};
dedaultView = CollectionViewSource.GetDefaultView(MyData);
dedaultView.MoveCurrentToPosition(10);
DataContext = this;
}
}
Прохладный. Я ожидал его от основных функций ListView, но расширение прост в использовании. –