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 » DataGrid - RowEditEnding Event wird bei nur eine Zeile nicht ausgelöst ?
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

DataGrid - RowEditEnding Event wird bei nur eine Zeile nicht ausgelöst ?

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

Dabei seit: 29.10.2014
Beiträge: 274


_Cashisclay ist offline

DataGrid - RowEditEnding Event wird bei nur eine Zeile nicht ausgelöst ?

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

Hallo zusammen,

mein RowEditEnding Event wird nicht ausgelöst, wenn sich nur eine Zeile im Steuerelement befindet, es sei denn man klickt auf ein anderes Steuerelement dann merkt das DataGrid wohl das es keinen Focus mehr hat, selbst beim TabItem Wechsel wird es nicht ausgelöst.

Hat damit jemand schon Erfahrungen sammeln können?

XML-Code:
            <DataGrid   ItemsSource="{Binding DataGridExtraTubesItemsSource, UpdateSourceTrigger=PropertyChanged}"
                            SelectedItem="{Binding DataGridExtraTubesSelectedItem, UpdateSourceTrigger=PropertyChanged}"
                        Style="{StaticResource BaseDataGrid}"
                            RowStyle="{StaticResource BaseDataGridRow}"
                        x:Name="DataGridExtraTubes"
>

                <i:Interaction.Triggers>

                    <i:EventTrigger EventName="RowEditEnding">

                        <i:InvokeCommandAction Command="{Binding DataGridExtraTubesRowEditEndingCommand}" CommandParameter="{Binding ElementName=DataGridExtraTubes, Path=SelectedItem}"/>

                    </i:EventTrigger>

                </i:Interaction.Triggers>

            </DataGrid>

Grüße
08.01.2020 16:18 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
p!lle
myCSharp.de-Mitglied

avatar-3556.jpg


Dabei seit: 22.02.2007
Beiträge: 1.032
Entwicklungsumgebung: Visual Studio (Community) 2019


p!lle ist offline

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

Wann wird es denn ausgelöst, wenn du mehr als eine Zeile hast?
Normalerweise sollte das Verhalten dann auch so sein, wenn du z.B. den Tab verlässt.

Klickst du bei mehreren Zeilen in eine andere Zeile?
08.01.2020 16:28 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
_Cashisclay _Cashisclay ist männlich
myCSharp.de-Mitglied

Dabei seit: 29.10.2014
Beiträge: 274

Themenstarter Thema begonnen von _Cashisclay

_Cashisclay ist offline

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

Wenn du zwei Zeilen hast und zwischen der ersten und zweiten wechselst wird es ausgelöst.
Existiert nur eine Zeile und ich wechsel den Tab passiert nichts, klick ich aber auf ein anderes Control wird es wieder ausgelöst.
08.01.2020 16:31 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
p!lle
myCSharp.de-Mitglied

avatar-3556.jpg


Dabei seit: 22.02.2007
Beiträge: 1.032
Entwicklungsumgebung: Visual Studio (Community) 2019


p!lle ist offline

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

Ja, d.h. wenn du bei zwei oder mehr Zeilen nicht die Zeile wechselst und den Tab verlässt, wird es auch nicht ausgelöst, richtig?
Das Problem besteht also auch bei mehreren Zeilen, wenn die Zeile nicht den Fokus verliert passiert nichts.
08.01.2020 16:39 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
_Cashisclay _Cashisclay ist männlich
myCSharp.de-Mitglied

Dabei seit: 29.10.2014
Beiträge: 274

Themenstarter Thema begonnen von _Cashisclay

_Cashisclay ist offline

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

So gesehen .. Richtig unglücklich
08.01.2020 16:41 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
_Cashisclay _Cashisclay ist männlich
myCSharp.de-Mitglied

Dabei seit: 29.10.2014
Beiträge: 274

Themenstarter Thema begonnen von _Cashisclay

_Cashisclay ist offline

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

Und was kann ich da am besten machen?
09.01.2020 08:29 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
_Cashisclay _Cashisclay ist männlich
myCSharp.de-Mitglied

Dabei seit: 29.10.2014
Beiträge: 274

Themenstarter Thema begonnen von _Cashisclay

_Cashisclay ist offline

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

Hab es jetzt über das MouseLeave Event gesteuert, gefällt mir zwar nicht, aber mir fällt auch nichts besseres ein
09.01.2020 09:44 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
FZelle
myCSharp.de-Poweruser/ Experte

Dabei seit: 23.04.2004
Beiträge: 9.839


FZelle ist offline

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

Was hattest du denn wirklich vor?
Denn editieren von Daten in einem DataGrid ist definitiv die falsche herangehensweise.
09.01.2020 18:20 Beiträge des Benutzers | zu Buddylist hinzufügen
_Cashisclay _Cashisclay ist männlich
myCSharp.de-Mitglied

Dabei seit: 29.10.2014
Beiträge: 274

Themenstarter Thema begonnen von _Cashisclay

_Cashisclay ist offline

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

Weil?
10.01.2020 08:11 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
witte
myCSharp.de-Mitglied

Dabei seit: 03.09.2010
Beiträge: 872


witte ist offline

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

Warum verwendest du eigentlich nicht MVVM? Dann kannst du doch den Command aufrufen wenn sich ein Setter ändert.
10.01.2020 10:52 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
FZelle
myCSharp.de-Poweruser/ Experte

Dabei seit: 23.04.2004
Beiträge: 9.839


FZelle ist offline

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

Zitat von _Cashisclay:
Weil?

Weil 30 Jahre SW Entwicklung gezeigt haben das es die falsche Herangehensweise ist.

Und beim verlassen der Zeile automatisch speichern wird dir auch über kurz oder lang auf die Füße fallen.
10.01.2020 18:19 Beiträge des Benutzers | zu Buddylist hinzufügen
_Cashisclay _Cashisclay ist männlich
myCSharp.de-Mitglied

Dabei seit: 29.10.2014
Beiträge: 274

Themenstarter Thema begonnen von _Cashisclay

_Cashisclay ist offline

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

Zitat:
Warum verwendest du eigentlich nicht MVVM? Dann kannst du doch den Command aufrufen wenn sich ein Setter ändert.

Ich verwende MVVM, aber es gibt ja ein passendes Event zu der Geschichte deswegen fand ich es auch angebracht das zu benutzen. Aber ja man könnte es auch über den Setter machen nur wird dann ja jeder Änderung geschrieben, mir reicht es ja wenn die letzte Auswahl vom Benutzer gespeichert wird.

Zitat:
Weil 30 Jahre SW Entwicklung gezeigt haben das es die falsche Herangehensweise ist.

Und beim verlassen der Zeile automatisch speichern wird dir auch über kurz oder lang auf die Füße fallen.

Und wie sieht die richtige Herangehensweise aus?
13.01.2020 08:50 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
FZelle
myCSharp.de-Poweruser/ Experte

Dabei seit: 23.04.2004
Beiträge: 9.839


FZelle ist offline

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

ListView/DataGrid zur Anzeige und Auswahl und dann einen DetailView zur Eingabe.
Zum speichern einen Button, dann kann man auch jederzeit ein Undo machen.
13.01.2020 20:18 Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 4 Monate.
Der letzte Beitrag ist älter als 4 Monate.
Antwort erstellen


© Copyright 2003-2020 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 05.06.2020 07:10