Entwickler-Ecke

WinForms - XAML Form Handle


ebber - Mo 24.03.08 20:14
Titel: XAML Form Handle
Hallo

ich habe einen Form mit XAML aber der fehlt irgendwie die Handle Eigenschaft. Gibts die nicht oder wo ist die hin? Irgendwie kann ich da bei nichts ein Handle finden auch nicht bei Buttons...

MfG


Chryzler - Mo 24.03.08 20:22

Mittels new System.Windows.Interop.WindowInteropHelper(control).Handle bekommst du das Handle des angegebenen Controls. ;)


Kha - Di 25.03.08 10:33

user profile iconChryzler hat folgendes geschrieben:
Mittels new System.Windows.Interop.WindowInteropHelper(control).Handle bekommst du das Handle des angegebenen Controls. ;)
Was denkst du, weshalb die Klasse WindowInteropHelper heißt :P ? Der Konstruktor nimmt nur Window-Instanzen entgegen, schließlich ist ein Window in einem WPF-Programm das einzige Control, das noch ein altmodisches Win32-Handle besitzt [*].

@ebber: Die obligatorische Frage ;) : Wofür?

[*]Dazu kommen noch ein paar spezielle Controls wie Menüs und Popups, denn die müssen schließlich über den Fensterrand hinausragen können.


ebber - Mi 16.04.08 22:07

Hallo

also das ganze funktioniert so eigentlich.

Ich wollte damit mein Fenster ohne Rahmen verschieben mit


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
private void Window_MouseDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
        {
            {
                ReleaseCapture();
                SendMessage(handle, WM_NCLBUTTONDOWN, HTCAPTION, 0);
            }
        }


Wird wohl nicht die beste Lösung sein, aber es funktioniert.

MfG

PS: Ich habe mal versucht nicht zu erwähnen, dass ich ein wenig spät auf die Frage antworte. Hab die irgendwie aus den Augen verloren. :oops: