Entwickler-Ecke

WPF / Silverlight - Objekt zur Laufzeit einem Event zuweisen


DerKroe - Mo 10.10.16 21:06
Titel: Objekt zur Laufzeit einem Event zuweisen
Hallo Leute,

zur Laufzeit wird dem Formular ein Button hizugefügt.
Wo im Quellcode wird ein Mouse_Down EventHandler plaziert, wenn der Benutzer den Button(Ball) zum DragDrop drückt?

Der Ball(Button) ist in einer eigenen Klasse definiert.

Ich hoffe das Problem ist nachvollziehbar erklärt, ansonsten einfach nachfragen :)


Christian S. - Mo 10.10.16 21:17

Hallo und :welcome:!

Was genau meinst Du mit "wo"? Also so geht es z.B.:


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
public MainWindow()
{
    InitializeComponent();

    var b = new Button();
    rootGrid.Children.Add(b);
    b.MouseDown += B_MouseDown;
}

private void B_MouseDown(object sender, MouseButtonEventArgs e)
{
    // ... do something ...
}


Nach dem Tippen von "b.MouseDown +=" sollte Dir Visual Studio auch anbieten, per Drücken der Tab-Taste das Event anzulegen.

Grüße
Christian


DerKroe - Mo 10.10.16 21:30

Mir ist nicht ganz klar wo im Quellcode ich mich befinde wenn der User einen Button drückt der zur Laufzeit vom User selbst erzeugt wurde.
Zu dem Zeitpunkt wird nichts konkretes ausgeführt, alle Aufgaben sind abgearbeitet und das Programm befindet sich im "Leerlauf".
Gibt es ein Event das dann grade aktiv ist, in dem ich den Handler platzieren könnte, bzw befinde ich mich dann grade automatisch in einem Event?


Christian S. - Mo 10.10.16 21:48

Irgendwie verstehe ich die Frage nicht. Es gibt ja einen Quellcode, der den Button erzeugt hat. Dort kannst Du, wie oben beschrieben, Events zuweisen, die ausgeführt werden, wenn mit dem Button interagiert wird.