myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » GUI: WPF und Silverlight » ScrollViewer - Scroll parent ScrollViewer wenn am Anschlag
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

ScrollViewer - Scroll parent ScrollViewer wenn am Anschlag

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
ByteDevil ByteDevil ist männlich
myCSharp.de-Mitglied

avatar-4066.png


Dabei seit: 02.03.2013
Beiträge: 80
Entwicklungsumgebung: VS 2019 Pro


ByteDevil ist offline

ScrollViewer - Scroll parent ScrollViewer wenn am Anschlag

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hi,

ich habe zwei ineinander verschachtelte ScrollViewer. Wenn ich mit der Maus über dem inneren bin, scrolle ich den vertikal hoch und runter mit dem Mausrad...alles gut. Bin ich ausserhalb, aber immer noch im äußeren, scrolle ich den äusseren. Auch alles prima so. Bin ich nun aber im inneren und habe beispielsweise nach ganz oben gescrollt, wäre es schön wenn der äussere dann das Scroll-Event kriegt und dann nach oben Scrollt. Analog natürlich auch abwärts. Dachte irgendwie das wäre das Standardverhalten von WPF aber anscheinend habe ich mich getäuscht. Gibt es einen einfachen Weg das zu erreichen?

Grüße

EDIT: In  diesem Post ist ein gif zu sehen in dem das gezeigt ist was ich will. Auch wenn das dort als Bug bezeichnet wird.

EDIT: Minimalbeispiel:

XML-Code:
<ScrollViewer VerticalScrollBarVisibility="Auto">
            <Grid Width="400" Height="600">
                <ScrollViewer>
                    <StackPanel Width="200">
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                        <TextBlock Text="1234"/>
                    </StackPanel>
                </ScrollViewer>
            </Grid>
        </ScrollViewer>

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von ByteDevil am 12.09.2019 10:24.

12.09.2019 09:59 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
ByteDevil ByteDevil ist männlich
myCSharp.de-Mitglied

avatar-4066.png


Dabei seit: 02.03.2013
Beiträge: 80
Entwicklungsumgebung: VS 2019 Pro

Themenstarter Thema begonnen von ByteDevil

ByteDevil ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Zitat:
In the category of the pot talking to the pan, I present you ScrollViewer. It's the main control to implement scrolling in your templates, but it's also the one not respecting a very fundamental rule of scrolling: if you're done scrolling, let your parent scroll!

Not only does ScrollViewer handles the mouse scrolling even when no more scrolling is needed, but it also does so when there's nothing to scroll, or worse when it is told not to scroll!

Das scheint ein komplizierteres Problem zu sein. Habe  hier was dazu gefunden, allerdings klappt das nur, solange in den ScrollViewern nur controls sind die von UIElement erben. Habe bei mir noch irgendwo anscheinend einen Document.Run drin, dabei crashed es dann. Verhindere ich das mit einer prüfung auf null, funktioniert es manchmal und manchmal nicht...

Bin sehr verzweifelt...

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von ByteDevil am 17.09.2019 15:31.

Gestern, 15:30 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum
Antwort erstellen


© Copyright 2003-2019 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 18.09.2019 14:00