Je pense que cela devrait être facile, mais j'ai du mal avec ça.Obtenir la référence à ScrollViewer de mon WPF ListBox en C#?
Comment puis-je obtenir une référence au scrollviewer de ma ListBox en C#? J'ai essayé à peu près tout ce que je peux penser. La ListBox est dans un contrôle personnalisé WPF afin que nous utilisions Template.FindName pour obtenir des références à tous nos contrôles. Mon ListBox ressemble à ceci:
<ListBox x:Name="PART_SoundList"
ScrollViewer.CanContentScroll="False"
ScrollViewer.HorizontalScrollBarVisibility="Auto"
ScrollViewer.VerticalScrollBarVisibility="Hidden" Focusable="False" FocusVisualStyle="{x:Null}"
HorizontalAlignment="Center" VerticalAlignment="Bottom" BorderThickness="0"
ItemContainerStyleSelector="{StaticResource ListBoxItemAlternatingStyleSelector}"
ItemsSource="{Binding}" >
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Vertical" Height="850" Focusable="False" Panel.ZIndex="999" >
<WrapPanel.RenderTransform>
<TransformGroup>
<ScaleTransform CenterX="0" CenterY="0" ScaleX=".75" ScaleY=".57" />
</TransformGroup>
</WrapPanel.RenderTransform>
</WrapPanel>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.Template>
<ControlTemplate>
<ScrollViewer x:Name="Scroller" VerticalAlignment="Bottom" Focusable="False" Style="{StaticResource HorizontalScroller}" >
<ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" Focusable="False" Panel.ZIndex="999" />
</ScrollViewer>
</ControlTemplate>
</ListBox.Template>
</ListBox>
Template.FindName ("Scroller", cela) que les résultats ScrollViewer à null.
Des idées?
Qu'est-ce que avez-vous besoin d'une référence au ScrollViewer f ou? Seulement curieux parce qu'il pourrait y avoir une approche différente que vous pourriez prendre pour résoudre votre problème. – Ragepotato