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 XAML » Wie bekomme ich die vertikale Scrollbar auf die linke Seite eines Datagrids?
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Wie bekomme ich die vertikale Scrollbar auf die linke Seite eines Datagrids?

 
Beiträge zu diesem Thema Autor Datum
 Wie bekomme ich die vertikale Scrollbar auf die linke Seite eines Datagrids? Hydrogencarbonat 06.02.2020 09:57
 RE: Wie bekomme ich die vertikale Scrollbar auf die linke Seite eines Datagrids? Christoph1972 06.02.2020 11:10
 RE: Wie bekomme ich die vertikale Scrollbar auf die linke Seite eines Datagrids? Hydrogencarbonat 06.02.2020 14:51

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

Dabei seit: 24.05.2018
Beiträge: 40


Hydrogencarbonat ist offline

Wie bekomme ich die vertikale Scrollbar auf die linke Seite eines Datagrids?

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

Hi,

wie bekomme ich die vertikale Scollbar auf die linke Seite eines Datagrids?

Gruß
06.02.2020 09:57 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Christoph1972 Christoph1972 ist männlich
myCSharp.de-Mitglied

avatar-2726.jpg


Dabei seit: 19.09.2008
Beiträge: 212
Entwicklungsumgebung: VS2015 Pro
Herkunft: NRW


Christoph1972 ist offline

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

Hallo,

hier ist ein Anfang, das fine tuning kannst du dann selbst machen.

Das Grundgerüst gibt es hier:  https://stackoverflow.com/questions/2156...roll-bar-in-wpf

XML-Code:
<DataGrid.Style>
     <Style TargetType="{x:Type DataGrid}">
         <Setter Property="Template">
             <Setter.Value>
                 <ControlTemplate TargetType="{x:Type DataGrid}">
                     <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="True">
                         <ScrollViewer x:Name="DG_ScrollViewer" Focusable="false">
                             <ScrollViewer.Template>
                                 <ControlTemplate TargetType="{x:Type ScrollViewer}">
                                     <Grid>
                                         <Grid.ColumnDefinitions>
                                             <ColumnDefinition Width="Auto"/>
                                             <ColumnDefinition Width="*"/>
                                             <ColumnDefinition Width="Auto"/>
                                         </Grid.ColumnDefinitions>
                                         <Grid.RowDefinitions>
                                             <RowDefinition Height="Auto"/>
                                             <RowDefinition Height="*"/>
                                             <RowDefinition Height="Auto"/>
                                         </Grid.RowDefinitions>
                                         <Button Command="{x:Static DataGrid.SelectAllCommand}" Focusable="false" Style="{DynamicResource {ComponentResourceKey ResourceId=DataGridSelectAllButtonStyle, TypeInTargetAssembly={x:Type DataGrid}}}" Visibility="{Binding HeadersVisibility, ConverterParameter={x:Static DataGridHeadersVisibility.All}, Converter={x:Static DataGrid.HeadersVisibilityConverter}, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" Width="{Binding CellsPanelHorizontalOffset, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/>
                                         <DataGridColumnHeadersPresenter x:Name="PART_ColumnHeadersPresenter" Grid.Column="1"  Visibility="{Binding HeadersVisibility, ConverterParameter={x:Static DataGridHeadersVisibility.Column}, Converter={x:Static DataGrid.HeadersVisibilityConverter}, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/>
                                         <!--This is the scroll content presenter that gets shifted to the left 17 units so that scrollbar doesn't cover it-->
                                         <ScrollContentPresenter Grid.Column="0" Grid.ColumnSpan="2" Margin="17,0,0,0" x:Name="PART_ScrollContentPresenter" CanContentScroll="{TemplateBinding CanContentScroll}" Grid.Row="1"/>
                                         <!--This is the vertical scrollbar. Margin is used to shift it to the left 17 units over the content-->
                                         <ScrollBar HorizontalAlignment="Left" Margin="0,0,0,0" x:Name="PART_VerticalScrollBar" Grid.Column="0" Maximum="{TemplateBinding ScrollableHeight}" Orientation="Vertical" Grid.Row="1" Visibility="{TemplateBinding ComputedVerticalScrollBarVisibility}" Value="{Binding VerticalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportHeight}"/>
                                         <Grid Grid.Column="1" Grid.Row="2">
                                             <Grid.ColumnDefinitions>
                                                 <ColumnDefinition Width="{Binding NonFrozenColumnsViewportHorizontalOffset, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/>
                                                 <ColumnDefinition Width="*"/>
                                             </Grid.ColumnDefinitions>
                                             <ScrollBar x:Name="PART_HorizontalScrollBar" Grid.Column="1" Maximum="{TemplateBinding ScrollableWidth}" Orientation="Horizontal" Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}" Value="{Binding HorizontalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportWidth}"/>
                                         </Grid>
                                     </Grid>
                                 </ControlTemplate>
                             </ScrollViewer.Template>
                             <ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
                         </ScrollViewer>
                     </Border>
                 </ControlTemplate>
             </Setter.Value>
         </Setter>
     </Style>
06.02.2020 11:10 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Hydrogencarbonat Hydrogencarbonat ist männlich
myCSharp.de-Mitglied

Dabei seit: 24.05.2018
Beiträge: 40

Themenstarter Thema begonnen von Hydrogencarbonat

Hydrogencarbonat ist offline

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

Hi ,
danke für die Hilfe.

Habe ein wenig an der richtigen Stelle getuned und es klappt.

XML-Code:
<ScrollBar Margin="-35,0,0,0" x:Name="PART_VerticalScrollBar" Grid.Row="0" Grid.RowSpan="2" Grid.Column="0" Maximum="{TemplateBinding ScrollableHeight}" Orientation="Vertical"  Visibility="{TemplateBinding ComputedVerticalScrollBarVisibility}" Value="{Binding VerticalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportHeight}"/>
06.02.2020 14:51 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 3 Monate.
Der letzte Beitrag ist älter als 3 Monate.
Antwort erstellen


© Copyright 2003-2020 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 29.05.2020 14:33