Laden...

Wie beim WPF/Datagrid die Fläche der "oberen linken Ecke" formatieren?

Erstellt von Harry Lobster vor 4 Jahren Letzter Beitrag vor 4 Jahren 1.380 Views
H
Harry Lobster Themenstarter:in
8 Beiträge seit 2019
vor 4 Jahren
Wie beim WPF/Datagrid die Fläche der "oberen linken Ecke" formatieren?

Ich finde leider keinen Begriff für den fixen Bereich ganz links neben den ColumnHeadern und über den RowHeadern, daher war meine Suche wohl auch bisher erfolglos.

Frage: wie kann man diesen Bereich z.B. mit einem eigenen Background versehen ?

H
Harry Lobster Themenstarter:in
8 Beiträge seit 2019
vor 4 Jahren

Vielleicht habe ich mich ja unklar ausgedrückt, daher habe ich einen Screenshot angehängt.
Wäre toll, wenn ich hier eine Antwort erhalten könnte.

709 Beiträge seit 2008
vor 4 Jahren

Hallo,
im Template des DataGrids befindet sich ein Button, der den Bereich darstellt.
Leg dir von dem Template eine Kopie an und du kannst darin alles an deine Bedürfnisse anpassen.

190 Beiträge seit 2012
vor 4 Jahren

DataGridSelectAllButtonStyle

WPF DataGrid RowHeader Style TargetType

  • Wer lesen kann, ist klar im Vorteil
  • Meistens sitzt der Fehler vorm Monitor
  • "Geht nicht" ist keine Fehlermeldung!
  • "Ich kann programmieren" != "Ich habe den Code bei Google gefunden"

GidF

H
Harry Lobster Themenstarter:in
8 Beiträge seit 2019
vor 4 Jahren

Ihr müsst bitte entschuldigen, aber ich bin noch nicht voll drin in WPF...
Generell weiß ich, was Resourcen sind, allerdings habe ich diese bisher nur sehr einfach verwendet. Das untere Konstrukt überfordert momentan mein Wissen, aber laut des Links soll es ja einfach so funktionieren, tut es aber nicht ! Ich muss doch eigentlich in meinen DataGrid irgendwo den Style/Key angeben, oder ? Ich habe jetzt alles mögliche versucht, aber das Grid bleibt davon unbeeindruckt. Könntet Ihr mir hier bitte ein Snippet liefern, wie ich diesen Style meinem DataGrid mitgebe ?

<DataGrid.Resources>
<Style TargetType="Button" x:Key="{ComponentResourceKey ResourceId=DataGridSelectAllButtonStyle, TypeInTargetAssembly={x:Type DataGrid}}">
<Setter Property="Background" Value="Red" />
</Style>
</DataGrid.Resources>

3.170 Beiträge seit 2006
vor 4 Jahren

Hallo,

Ich muss doch eigentlich in meinen DataGrid irgendwo den Style/Key angeben, oder ?

Eigentlich nicht... Du deklarierst diese Resource direkt als Kindelement von deinem DataGrid, dann sollte es passen:

<DataGrid ...>
    <DataGrid.Resources>
        <Style TargetType="Button" x:Key="{ComponentResourceKey ResourceId=DataGridSelectAllButtonStyle, TypeInTargetAssembly={x:Type DataGrid}}">
            <Setter Property="Background" Value="Red" />
        </Style>
    </DataGrid.Resources>
    <!-- Hier der Rest von Deinem DataGrid -->
</DataGrid>

Gruß, MarsStein

Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca

H
Harry Lobster Themenstarter:in
8 Beiträge seit 2019
vor 4 Jahren

Vielen Dank für Deine Hilfe. Ich hatte das bei dem Grid, um das es ging, genauso gemacht. Ohne Erfolg. Bei einem "jungfräulichen" hat es dann 1A geklappt. WPF macht mich wahnsinnig. Dauernd klappt irgendwas nicht, ohne das man weiß warum...

Thema erledigt ! Vielen Dank an alle Unterstützer !

H
Harry Lobster Themenstarter:in
8 Beiträge seit 2019
vor 4 Jahren

Nachtrag:

dieser Style, den ich weiter "oben" im XAML-Code gesetzt hatte:

<Style TargetType="DataGrid">
     <Setter Property="SelectionMode" Value="Single"></Setter>
</Style>

sorgt dafür, dass der Setter für DataGridSelectAllButtonStyle ignoriert wird. Ich habe keine Ahnung warum...

Das hat mich Stunden gekostet....

1.040 Beiträge seit 2007
vor 4 Jahren

Macht auch überhaupt keinen Sinn. 🤔