Столкнулся с такой проблемой. Есть в xaml такая разметка:
<Grid Background="#2c2c2c">
<ScrollViewer x:Name="scrollViewer" CanContentScroll="True">
<StackPanel Background="#FF1F1E1E" x:Name="ScrollPanel">
<ListBox x:Name="favorites" Width="300" Background="#FF1F1E1E">
<ListBoxItem Height="40" Background="#FF191919">
<TextBlock Text="Item 1" Foreground="White"/>
</ListBoxItem>
<ListBoxItem Height="40" Background="#FF191919">
<TextBlock Text="Item 2" Foreground="White"/>
</ListBoxItem>
<ListBoxItem Height="40" Background="#FF191919">
<TextBlock Text="Item 3" Foreground="White"/>
</ListBoxItem>
<ListBoxItem Height="40" Background="#FF191919">
<TextBlock Text="Item 4" Foreground="White"/>
</ListBoxItem>
<ListBoxItem Height="40" Background="#FF191919">
<TextBlock Text="Item 5" Foreground="White"/>
</ListBoxItem>
<ListBoxItem Height="40" Background="#FF191919">
<TextBlock Text="Item 6" Foreground="White"/>
</ListBoxItem>
<ListBoxItem Height="40" Background="#FF191919">
<TextBlock Text="Item 7" Foreground="White"/>
</ListBoxItem>
</ListBox>
<ListBox x:Name="library" Width="300" Background="#FF1F1E1E" Margin="0 20 0 0">
<ListBoxItem Height="40" Background="#FF191919">
<TextBlock Text="Item 1" Foreground="White"/>
</ListBoxItem>
<ListBoxItem Height="40" Background="#FF191919">
<TextBlock Text="Item 2" Foreground="White"/>
</ListBoxItem>
<ListBoxItem Height="40" Background="#FF191919">
<TextBlock Text="Item 3" Foreground="White"/>
</ListBoxItem>
<ListBoxItem Height="40" Background="#FF191919">
<TextBlock Text="Item 4" Foreground="White"/>
</ListBoxItem>
<ListBoxItem Height="40" Background="#FF191919">
<TextBlock Text="Item 5" Foreground="White"/>
</ListBoxItem>
<ListBoxItem Height="40" Background="#FF191919">
<TextBlock Text="Item 6" Foreground="White"/>
</ListBoxItem>
<ListBoxItem Height="40" Background="#FF191919">
<TextBlock Text="Item 7" Foreground="White"/>
</ListBoxItem>
</ListBox>
</StackPanel>
</ScrollViewer>
</Grid>
Проблема заключается в том, что я хочу сделать плавную прокрутку (как, например, в браузерах). Но как видите, если обернуть всю мою конструкцию в SrcollViewer, то получится это:
Как видите вместо хорошего скроллбара, который бы крутил по пикселям всю длину StackPanel получается массивный скроллбар, который за одну прокрутку перемещает фокус в другой конец панели. Так вот, есть ли какой-нибудь способ сделать так, чтобы он перемещался плавно? Еще было бы неплохо узнать, как сделать так, чтобы при прокрутке колесом мыши в области, которая обернута в ScrollViewer происходил процесс прокрутки этого содержимого? (в обычной ситуации прокручивается только если навести на сам скроллбар и дальше уже колесом мыши)
Известная проблема.
CanContentScroll="False"
Насчёт прокрутки по элементам: ListBox сам внутри держит ScrollViewer, поэтому перехватывает прокрутку. Замени оба ListBox на ItemsControl (остальное можно даже не менять).
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости