Gerade jetzt, das ist, was ich tue, die Klasse der Elemente in meinem WPF-Leinwand zu erhalten:Abrufen eines Klasse des Objekts
// for instance
private void R_MouseMove(object sender, System.Windows.Input.MouseEventArgs e)
{
if (sender.ToString() == "System.Windows.Shapes.Rectangle")
{
// ok i am a rect
System.Windows.Shapes.Rectangle r = (System.Windows.Shapes.Rectangle)sender;
//etc...
}
}
Irgendwie habe ich das Gefühl, es ist ein eleganter Weg, dies zu tun. Etwas in den Zeilen:
if (class(sender) == System.Windows.Shapes.Rectangle) ...
Mit anderen Worten, gibt es Reflexion in C# und wenn nicht, wie man es emuliert?
'if (Absender ist System.Windows.Shapes.Rectangle) ...' –
Beachten Sie auch 'sender.GetType()' und 'sender as Rectangle'. –
Da sich die Frage nach WPF richtet, sollten Sie wissen, dass Absender und Ereignisquelle für Routingereignisse voneinander abweichen können. – Dennis