Добрый день, у меня, наверное, классическая проблема.Мне нужно положить тот же ListBox внутри ScrollViewer.Да, я знаю, что это не очень хорошая идея.
Собственно, в ScrollViewer был поставлен Grid, в чем у Expander
И моя проблема Как устроена прокрутка мышью этого построения?Я не могу прокрутить, если выбран какой-либо элемент списка.
Теперь я знаю, как организация прокручивает мышь одним из списков стилей.Но как создать мышиную прокрутку этой конструкции, я не знаю
<ScrollViewer
VerticalAlignment="Top"
Grid.Row="2">
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Expander IsExpanded="True"
>
<ListBox ***><ListBox/>
</Expander>
<Expander IsExpanded="True"
Grid.Row="2" >
<ListBox ***><ListBox/>
</Expander>
<ListBox ***><ListBox/>
</Expander>
</ScrollViewer>
Пример изображения того, как это выглядит
Прошу прощения за то, что экранне переведено, а для «ломаного языка» вопроса.
Edit
Если упростить задачу.
Проблема будет выглядеть так: необходимо обеспечить прокрутку (текущий список или все пространство не имеет значения) при выборе любых элементов из списка.Если убрать глобальную прокрутку, то проблема с определением высоты списков
<Grid>
<ScrollViewer HorizontalAlignment="Left" Margin="7,2,0,0" Width="493" CanContentScroll="True">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="30" />
<RowDefinition Height="auto" Name="firsrow"/>
<RowDefinition Height="*" MinHeight="100" Name="secondrow"/>
</Grid.RowDefinitions>
<Border Grid.Row="1" >
<Expander IsExpanded="True" >
<Expander.Header>
<StackPanel Orientation= "Horizontal">
<TextBlock Text = "header1" />
</StackPanel>
</Expander.Header>
<Grid >
<ListBox x:Name="listBox" ScrollViewer.VerticalScrollBarVisibility="Auto" ScrollViewer.CanContentScroll="True" ScrollViewer.HorizontalScrollBarVisibility="Disabled" >
<ListBoxItem >
<TextBlock Text="1">
</TextBlock>
</ListBoxItem>
<ListBoxItem >
<TextBlock Text="2">
</TextBlock>
</ListBoxItem>
<ListBoxItem >
<TextBlock Text="3">
</TextBlock>
</ListBoxItem>
<ListBoxItem >
<TextBlock Text="4">
</TextBlock>
</ListBoxItem>
</ListBox>
</Grid>
</Expander>
</Border>
<Border Grid.Row="2" >
<Expander IsExpanded="True">
<Expander.Header>
<StackPanel Orientation= "Horizontal">
<TextBlock Text = "header2" />
</StackPanel>
</Expander.Header>
<Grid >
<ListBox x:Name="listBox_2" ScrollViewer.VerticalScrollBarVisibility="Auto" ScrollViewer.CanContentScroll="True" ScrollViewer.HorizontalScrollBarVisibility="Disabled">
<ListBoxItem >
<TextBlock Text="1">
</TextBlock>
</ListBoxItem>
<ListBoxItem >
<TextBlock Text="2">
</TextBlock>
</ListBoxItem>
<ListBoxItem >
<TextBlock Text="3">
</TextBlock>
</ListBoxItem>
<ListBoxItem >
<TextBlock Text="4">
</TextBlock>
</ListBoxItem>
</ListBox>
</Grid>
</Expander>
</Border>
</Grid>
</ScrollViewer>
</Grid>