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 » Rund um die Programmierung » Wie kann ich bei Dependency Property eigene Variablen in den Eventargs übergeben?
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Wie kann ich bei Dependency Property eigene Variablen in den Eventargs übergeben?

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

Dabei seit: 24.01.2019
Beiträge: 29
Entwicklungsumgebung: Visual Studio


EyeTrackJack ist offline

Wie kann ich bei Dependency Property eigene Variablen in den Eventargs übergeben?

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

Hallo,
wie kann ich bei einer Dependency Property eigene Variablen in den Eventargs übergeben, wie man es bei einer normalen Event macht? Der Hintergrund hier ist, dass ich über die Eventargs die Information übergeben will, ob der Wert vom Programm verändert wurde, oder der Benutzer das zum Beispiel mit der Maus getan hat. Dafür stelle ich mir eine bool Variable vor.

Wie mache ich das am besten?

Grüße.

Tobias

C#-Code:
        public static readonly RoutedEvent ValueChangedEvent = EventManager.RegisterRoutedEvent("ValueChanged", RoutingStrategy.Bubble,
            typeof(RoutedPropertyChangedEventHandler<double>), typeof(ValueEntryControl));

        public event RoutedPropertyChangedEventHandler<double> ValueChanged
        {
            add { AddHandler(ValueChangedEvent, value); }
            remove { RemoveHandler(ValueChangedEvent, value); }
        }

        private void OnValueChanged(double oldValue, double newValue)
        {
            //Workaround for the problem that coerce value doesn't help to prevent from sending invalid values
            if (oldValue < Minimum) oldValue = Minimum;
            if (oldValue > Maximum) oldValue = Maximum;
            if (newValue < Minimum) newValue = Minimum;
            if (newValue > Maximum) newValue = Maximum;
            if (newValue == oldValue) return;

            RoutedPropertyChangedEventArgs<double> args = new RoutedPropertyChangedEventArgs<double>(oldValue, newValue);
            args.RoutedEvent = ValueEntryControl.ValueChangedEvent;
            RaiseEvent(args);
        }
Neuer Beitrag 09.10.2020 00:42 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
MrSparkle MrSparkle ist männlich
myCSharp.de-Team

avatar-2159.gif


Dabei seit: 16.05.2006
Beiträge: 5.523
Herkunft: Leipzig


MrSparkle ist online

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

Zitat von EyeTrackJack:
wie kann ich bei einer Dependency Property eigene Variablen in den Eventargs übergeben

Gar nicht. Eine DependencyProperty ist eine Eigenschaft und kein Event. In deinem Code finde ich auch kein DependencyProperty.

Bitte erkläre dein Problem mal ein bißchen ausführlicher. Wozu meinst überhaupt du eine Unterscheidung zwischen Änderungen aus der Anwendung und durch den Benutzer zu brauchen? Da scheint mir schon die grundsätzliche Herangehensweise auf einem Fehlschluß zu basieren.
Neuer Beitrag 09.10.2020 23:10 Beiträge des Benutzers | zu Buddylist hinzufügen
EyeTrackJack EyeTrackJack ist männlich
myCSharp.de-Mitglied

Dabei seit: 24.01.2019
Beiträge: 29
Entwicklungsumgebung: Visual Studio

Themenstarter Thema begonnen von EyeTrackJack

EyeTrackJack ist offline

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

Hallo, ich glaube, ich war gestern irgendwie müde. Ich meine das ValueChangedEvent, das beim Ändern der Property gesendet wird.

Und die Unterscheidung, ob das Programm oder der Benutzer die Änderung vorgenommen hat ist wichtig, damit es nicht zu einer Wiederholung kommt, wo der Wert gesetzt wird, etwas auf dem Bildschirm neu platziert wird und dadurch wieder der Wert gesetzt wird.
Neuer Beitrag 10.10.2020 00:26 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Th69
myCSharp.de-Poweruser/ Experte

avatar-2578.jpg


Dabei seit: 01.04.2008
Beiträge: 3.778
Entwicklungsumgebung: Visual Studio 2015/17


Th69 ist offline

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

Neuer Beitrag 10.10.2020 10:10 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
EyeTrackJack EyeTrackJack ist männlich
myCSharp.de-Mitglied

Dabei seit: 24.01.2019
Beiträge: 29
Entwicklungsumgebung: Visual Studio

Themenstarter Thema begonnen von EyeTrackJack

EyeTrackJack ist offline

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

Hallo Th69,
habe das mal angesehen, was du gezeigt hast. Ok, das war einfach ;) Im Grunde mache ich das so wie beschrieben, dass ich Variablen einsetze, die dann bei Ausführung des Events entscheiden, was passiert. Dachte nur, vielleicht gibt es eine Lösung ohne zusätzliche Variablen.
Grüße. Tobias
Neuer Beitrag 14.10.2020 16:11 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum
Antwort erstellen


© Copyright 2003-2020 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 27.10.2020 18:36