Ein normaler ScrollViewer scheint eine Methode zu haben, die dies bewirkt. Ein FlowDocumentScrollViewer funktioniert nicht. Also, wie gehe ich um einen FlowDocumentScrollViewer nach unten setzen.Wie scrollt man in einem WPF zum Ende eines FlowDocumentScrollViewer?
1
A
Antwort
2
Sie können scrollviewer von flowdocumentscrollviewer aus aufrufen. Hier ist beispielsweise
private void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
var scrollViewer = FindScrollViewer(flowDocumentScrollViewer);
scrollViewer.ScrollToBottom();
}
public static ScrollViewer FindScrollViewer(FlowDocumentScrollViewer flowDocumentScrollViewer)
{
if (VisualTreeHelper.GetChildrenCount(flowDocumentScrollViewer) == 0)
{
return null;
}
// Border is the first child of first child of a ScrolldocumentViewer
DependencyObject firstChild = VisualTreeHelper.GetChild(flowDocumentScrollViewer, 0);
if (firstChild == null)
{
return null;
}
Decorator border = VisualTreeHelper.GetChild(firstChild, 0) as Decorator;
if (border == null)
{
return null;
}
return border.Child as ScrollViewer;
}
1
Oder können Sie die bereitgestellte Antwort here, verwenden und die Suche nach dem Scroll:
public static void ScrollToEnd(FlowDocumentScrollViewer fdsv)
{
ScrollViewer sc = FindVisualChildren<ScrollViewer>(fdsv).First() as ScrollViewer;
if (sc != null)
sc.ScrollToEnd();
}
public static IEnumerable<T> FindVisualChildren<T>(DependencyObject depObj) where T : DependencyObject
{
if (depObj != null)
{
for (int i = 0; i < VisualTreeHelper.GetChildrenCount(depObj); i++)
{
DependencyObject child = VisualTreeHelper.GetChild(depObj, i);
if (child != null && child is T)
{
yield return (T)child;
}
foreach (T childOfChild in FindVisualChildren<T>(child))
{
yield return childOfChild;
}
}
}
}
Verwandte Themen
- 1. Wie scrollt man zum Ende von System.Windows.Forms.WebBrowser?
- 2. Wie scrollt man zum Ende einer UICollectionView?
- 3. Espresso: Wie scrollt man zum unteren Ende von ScrollView?
- 4. Wie scrollt man zum genauen Ende des UITableView?
- 5. Wie scrollt man die Seite bis zum Ende (Ende Seite) in der Selen-Webdriver
- 6. Touchscreen - DataGridView scrollt nicht bis zum Ende
- 7. Scrollen Sie einen WPF FlowDocumentScrollViewer von Code?
- 8. Wie scrollt man mit jquery zum Anfang eines Divs?
- 9. Wie scrollt man schnell zum letzten/Ende des Befehlsverlaufs in bash?
- 10. Wie scrollt man in nur einem Element?
- 11. Wie scrollt man zu einem Element innerhalb eines div?
- 12. Wie scrollt man in tmux zum Anfang/Ende des Scroll-Puffers?
- 13. Android ScrollView scrollt automatisch zum Ende der Ansicht
- 14. RecyclerView scrollt bis zum Ende nach smoothScrollToPosition (0)
- 15. ListView scrollt nicht bis zum Ende, wenn die Tastatur mit
- 16. Wie scrollt man zu einem bestimmten div in einem iframe?
- 17. `ScrollToCaret` scrollt zum Ende des ausgewählten Textes, wie kann ich zum Anfang davon scrollen?
- 18. Wie scrollt man zum Seitenende, wenn Postback in asp.net endet?
- 19. Wie scrollt man zum letzten Eintrag in mit-scheme REPL?
- 20. Empfehlungen zum Erstellen eines Protokollfensters in WPF
- 21. Wie springt man mit Vim von einem Ende zum anderen eines Ruby Blocks?
- 22. Wie scrollt man nach unten
- 23. Wie scrollt man in GridView, das in einem BottomSheetDialog ist?
- 24. Wie automatisches Scrollen bis zum Ende eines Div in Elm
- 25. Wie scrollt man zur letzten Zeile eines SQLite-Modells in einer QTableView?
- 26. Wie man relative Koordinaten eines verschachtelten Panels als Seiten scrollt
- 27. Wie scrollt man einen PreferenceScreen?
- 28. WPF-Lernprogramm zum Erstellen eines benutzerdefinierten Benutzersteuerelements
- 29. Wie scrollt man automatisch innerhalb eines Tkinter-Nachrichtenfensters
- 30. Wie scrollt man das Eltern-Div, wenn man auf einem Kinddiv schwebt und scrollt?
Nun, das sicher funktioniert. Ist es üblich, dies einfach zu tun, oder möchten Sie im Allgemeinen nicht bis zum Ende eines Flowdocumentscrollviewer scrollen? – PPFY
Es ist eine Art Utility-Methode für die Funktion, die nicht ausgesetzt ist. Ich sehe kein Problem damit. –