Je n'arrive pas à afficher une barre de défilement horizontale pour une visionneuse de défilement WPF. Le ScrollViewer
contient un contrôle utilisateur qui restitue dynamiquement son contenu en fonction d'un objet d'entrée qui peut donc être de taille variable. Lorsqu'il se rend lui-même, il définit la largeur et la hauteur du contrôle utilisateur comme étant la bonne taille.Barre de défilement horizontale pour WPF ScrollViewer jamais affichée
J'ai mis HorizontalScrollBarVisibility
à Visible ce qui devrait le forcer à toujours être affiché mais il n'est jamais affiché. J'ai également essayé de jouer avec l'activation/désactivation CanContentScroll
mais cela ne semble pas faire de différence.
Les barres de défilement verticales fonctionnent sans problème.
ScrollViewer scroll = new ScrollViewer();
scroll.HorizontalContentAlignment = HorizontalAlignment.Left;
scroll.VerticalContentAlignment = VerticalAlignment.Top;
scroll.HorizontalScrollBarVisibility = ScrollBarVisibility.Visible;
scroll.CanContentScroll = true;
Grid.SetRow(scroll, 1);
GalaxyViewer viewer = new GalaxyViewer(g);
viewer.HorizontalAlignment = HorizontalAlignment.Left;
viewer.VerticalAlignment = VerticalAlignment.Top;
viewer.HideShips();
viewer.IsEditable = this.IsEditable;
viewer.GalaxyEdited += this._galaxyEditedHandler;
if (this._activePlayer > 0 && !this.IsEditable) viewer.ShowShipsForPlayer(this._activePlayer);
scroll.Content = viewer;
ScrollViewer.SetCanContentScroll(viewer, true);
ScrollViewer.SetHorizontalScrollBarVisibility(viewer, ScrollBarVisibility.Visible);
scroll.UpdateLayout();
grid.Children.Add(scroll);
Quelqu'un at-il des idées/solutions pour cela?
Il est intéressant de la barre de défilement horizontale apparaît seulement quand je la forme – RobV