Scrollen Sie in der gruppierten Listenansicht

8

Ich bin so verzweifelt .... um meine WPF-gruppierte Listenansicht zum Laufen zu bringen ... Ich kann nicht innerhalb meiner Listenansicht scrollen ...

In meiner Beispielanwendung habe ich eine Listview mit zwei Expandern. Der erste enthält viele ListViewitems ... also muss man scrollen ... Aber wenn ich die "verdammte Bildlaufleiste" verwende, springt sie direkt zum nächsten Expander (in meinem Fall Expander 2 von 2) ... so ist es nicht möglich, korrekt zu scrollen ...

Erster Screenshot:

Zweiter Screenshot:

Mein ListView-Stil:

%Vor%

Mein GridView.GridViewScrollViewerStyle:

%Vor%

Mein ListViewItemContainerStyle:

%Vor%

Nur meine Listview:

%Vor%

Ich weiß nicht, wie ich mein Problem lösen kann ... Ich hoffe, einige von Ihnen können mir helfen, es zum Laufen zu bringen ...

Vielen Dank für Ihre Bemühungen.

    
user1011394 17.07.2012, 18:14
quelle

1 Antwort

10

Ihr Problem ist die Eigenschaft <Setter Property="ScrollViewer.CanContentScroll" Value="true"/> setter für den ListView-Stil.

Inhalt in einem ScrollViewer kann in physikalischen Einheiten oder logischen Einheiten gescrollt werden. Physische Einheiten sind geräteunabhängige Pixel. Logische Einheiten werden zum Scrollen von Objekten in einem ItemsControl verwendet. (was Sie gerade tun) . Das Standardverhalten des ScrollViewers besteht darin, physische Einheiten zum Scrollen seines Inhalts zu verwenden. In Fällen, in denen CanContentScroll auf true festgelegt ist, kann der Inhalt jedoch logische Einheiten zum Scrollen verwenden. Beispielsweise verwenden ListBox, ListView und andere Steuerelemente, die von ItemsControl erben, logische Einheiten zum Scrollen. Wenn CanContentScroll den Wert true hat, sind die Werte der Eigenschaften ExtentHeight, ScrollableHeight, ViewportHeight und VerticalOffset die Anzahl der Elemente anstelle der physischen Einheiten.

Wenn Sie statt des logischen Scrollings ein physisches Scrollen benötigen, müssen Sie das Host-Panel-Element in einen ScrollViewer einbinden und seine CanContentScroll-Eigenschaft auf false setzen. Das physische Scrollen ist das Standard-Scroll-Verhalten für die meisten Panel-Elemente.

Weitere Informationen finden Sie hier: Ссылка

    
Michael G 17.07.2012, 18:16
quelle

Tags und Links