Laden...

Scrollbare Controls im Scrollviewer

Erstellt von Tr1umph vor 12 Jahren Letzter Beitrag vor 10 Jahren 2.062 Views
T
Tr1umph Themenstarter:in
58 Beiträge seit 2011
vor 12 Jahren
Scrollbare Controls im Scrollviewer

Hi

Ich habe in einem Scrollviewer ein Grid. In diesem Grid sind neben ein paar Buttons auch ein DataGrid. Das Grid wird immer so groß wie es denn sein will. Das DataGrid hat also selber nie eine Scrollbar.

Der Scrollviewer an sich funzt wunderbar. Das einzige Problem was ich habe ist das Scrollen per Mausrad. Sobald ich mit dem Mauszeiger über dem DataGrid bin, funzt das scrollen per Mausrad für den Scrollviewer nicht mehr.

Was kann man da machen?

Gruß

5.742 Beiträge seit 2007
vor 12 Jahren

Hallo Tr1umph,

du könntest versuchen, via Template den standardmäßigen ScrollViewer um das DataGrid zu entfernen.
Evtl. reicht es auch schon, Scrolling für das DataGrid zu deaktivieren.

T
574 Beiträge seit 2008
vor 10 Jahren

Ich hol das nach der Zeit echt ungern wieder rauf, aber ich stehe genau vor dem Problem:

<Window
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        x:Class="DataGridScrollingTest.MainWindow"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <ScrollViewer>
            <StackPanel>
                <Border Height="300" Background="#FF9999" Margin="10">
                    <TextBlock>Red</TextBlock>
                </Border>
                <DataGrid x:Name="grdData" 
                          ScrollViewer.CanContentScroll="True" 
                          ScrollViewer.VerticalScrollBarVisibility="Disabled"/>
                <Border Height="300" Background="#1199FF" Margin="10">
                    <TextBlock>Blue</TextBlock>
                </Border>
            </StackPanel>
        </ScrollViewer>
    </Grid>
</Window>

Wenn ich mit der Maus über dem DataGrid (enthält z.B. 3 Zeilen) bin, kann ich nicht mehr per Mausrad scrollen. Das DataGrid verschluckt das Scrollen einfach - obwohl keine Scrollbar da ist.

Events bekomm ich nur PreviewMouseWheel aber MouseWheel nicht mehr.

Wie kann man das lösen - wenn ich weiß, dass das DataGrid nie einen vertikalen Scrollbalken hat?