Ich habe Probleme, eine horizontale Bildlaufleiste für einen WPF Scroll Viewer anzuzeigen. Das ScrollViewer
enthält ein Benutzersteuerelement, das seinen Inhalt basierend auf einem Eingabeobjekt dynamisch darstellt, so dass es eine variable Größe haben kann. Wenn es sich selbst rendert, legt es die Breite und Höhe des Benutzersteuerelements auf die richtige Größe fest.Horizontale Bildlaufleiste für WPF ScrollViewer wurde nie angezeigt
Ich habe HorizontalScrollBarVisibility
auf sichtbar gesetzt, was es zwingen sollte, immer angezeigt zu werden, aber es wird nie angezeigt. Ich habe auch versucht mit dem Aktivieren/Deaktivieren CanContentScroll
zu spielen, aber es scheint keinen Unterschied zu machen.
Vertikale Bildlaufleisten funktionieren ohne Probleme.
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);
Wer hat irgendwelche Ideen/Lösungen dafür?
Interessanterweise ist die horizontale Bildlaufleiste erscheint nur, wenn ich das Formular maximieren – RobV