Täglich grüßt das Murmeltier
so, ich habe nun soweit schon eine ganze Menge umgesetzt bekommen und auch eine Collection mit Collections verwursteln können und das auch ohne großen Aufwand. Nun habe ich in der inneren ListView das ItemPanelTemplate als WrapPanel gesetzt und es tut auch, was es soll. Es wrapped, wenn es am Ende angekommen ist. Nun habe ich ein weiteres Phänomen, das mich wahnsinnig macht. Wenn ich am Rand (außerhalb des WrapPanels) scrolle, scrollt meine äußere ListView ohne weiteres von oben nach unten (und umgekehrt). Ist mein Cursor jedoch überhalb des WrapPanels, kann ich nicht mehr scrollen.
Auch das Deaktivieren der ScrollViewer-Eigenschaften auf der inneren Listview, das Nutzen einer einzigen äußeren ScrollViewer-Instanz bringen hier keine Abhilfe. Ich verstehe auch, dass ich nun über dem WrapPanel bin und deshalb die ListView ja nicht weiß, dass ich bei ihr scrollen möchte. Also habe ich versucht, mittels "MouseWheel" dran zu kommen, aber auch hier schaffe ich es nicht, das Scrollen an die äußere ListView zu geben. Die Bilder verdeutlichen vielleicht, was ich meine.
hier der XAML:
so, ich habe nun soweit schon eine ganze Menge umgesetzt bekommen und auch eine Collection mit Collections verwursteln können und das auch ohne großen Aufwand. Nun habe ich in der inneren ListView das ItemPanelTemplate als WrapPanel gesetzt und es tut auch, was es soll. Es wrapped, wenn es am Ende angekommen ist. Nun habe ich ein weiteres Phänomen, das mich wahnsinnig macht. Wenn ich am Rand (außerhalb des WrapPanels) scrolle, scrollt meine äußere ListView ohne weiteres von oben nach unten (und umgekehrt). Ist mein Cursor jedoch überhalb des WrapPanels, kann ich nicht mehr scrollen.
Auch das Deaktivieren der ScrollViewer-Eigenschaften auf der inneren Listview, das Nutzen einer einzigen äußeren ScrollViewer-Instanz bringen hier keine Abhilfe. Ich verstehe auch, dass ich nun über dem WrapPanel bin und deshalb die ListView ja nicht weiß, dass ich bei ihr scrollen möchte. Also habe ich versucht, mittels "MouseWheel" dran zu kommen, aber auch hier schaffe ich es nicht, das Scrollen an die äußere ListView zu geben. Die Bilder verdeutlichen vielleicht, was ich meine.
hier der XAML:
XML-Quellcode
- <ListView Grid.Row="1" DataContext="{StaticResource ViewProgramManager}" x:Name="OuterListView" ItemsSource="{Binding ProgramManagerView }" IsSynchronizedWithCurrentItem="True"
- ScrollViewer.VerticalScrollBarVisibility="Auto" ScrollViewer.HorizontalScrollBarVisibility="Disabled" >
- <ListView.Resources>
- <!--Inner Template for ProgramManager-->
- <DataTemplate x:Key="InnerTemplateForManagedApps">
- <Border BorderBrush="LightGray" BorderThickness="1" CornerRadius="1,0,0,0" Padding="4" Margin="5" Width="{Binding Source={StaticResource AppSettings}, Path=ManagedAppWidth, Converter={StaticResource AppWidthAndHeightToSizeConverter}}"
- Height="{Binding Source={StaticResource AppSettings}, Path=ManagedAppHeight, Converter={StaticResource AppWidthAndHeightToSizeConverter}}">
- <DockPanel>
- <TextBlock DockPanel.Dock="top" Text="{Binding Description}" TextWrapping="Wrap" FontSize="{Binding Source={StaticResource AppSettings}, Path=ManagedAppFontSize}"/>
- <DockPanel DockPanel.Dock="Bottom">
- <CheckBox DockPanel.Dock="Right" />
- <Button Content="Öffnen" FontSize="{Binding Source={StaticResource AppSettings}, Path=ManagedAppFontSize}"/>
- </DockPanel>
- <Image Source="pack://application:,,,/images\other\404.png" Width="{Binding Source={StaticResource AppSettings}, Path=ManagedAppImageSize, Converter={StaticResource ImageSizeConverter}}"
- HorizontalAlignment="{Binding Source={StaticResource AppSettings}, Path=ManagedAppImageAlignment, Converter={StaticResource ImageAlignmentConverter}}"/>
- </DockPanel>
- </Border>
- </DataTemplate>
- </ListView.Resources>
- <ListView.ItemTemplate>
- <DataTemplate>
- <Expander Header="{Binding Header}">
- <ListView ItemsSource="{Binding ManagedCollection}" ItemTemplate="{StaticResource InnerTemplateForManagedApps}"
- SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical" ScrollViewer.HorizontalScrollBarVisibility="Disabled">
- <ListView.ItemsPanel>
- <ItemsPanelTemplate>
- <WrapPanel ScrollViewer.CanContentScroll="True" ScrollViewer.IsDeferredScrollingEnabled="True" MouseWheel="WrapPanel_MouseWheel"/>
- </ItemsPanelTemplate>
- </ListView.ItemsPanel>
- </ListView>
- </Expander>
- </DataTemplate>
- </ListView.ItemTemplate>
- </ListView>
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „PadreSperanza“ ()