Formularze Windows miały właściwość win1.Handle, która, jeśli dobrze pamiętam, zwraca uchwyt uchwytu głównego okna?
Czy istnieje równoważny sposób uzyskania uchwytu okna WPF?
Znalazłem następujący kod online,
IntPtr windowHandle = new WindowInteropHelper(Application.Current.MainWindow).Handle;
ale nie sądzę, że to mi pomoże, ponieważ moja aplikacja ma wiele okien.
Dzięki!!
Odpowiedzi:
Cóż, zamiast przekazywać
Application.Current.MainWindow
, po prostu podaj odniesienie do dowolnego okna, które chcesz:new WindowInteropHelper(this).Handle
i tak dalej.źródło
Po prostu użyj swojego okna z klasą WindowsInteropHelper:
W tej chwili pytasz o główne okno aplikacji, które zawsze będzie dostępne. Tej samej techniki można użyć w każdym oknie, jednak pod warunkiem, że jest to klasa okna pochodna System.Windows.Window.
źródło
możesz użyć :
źródło
Jeśli
Window
z jakiegoś powodu chcesz mieć uchwyty okien dla WSZYSTKICH aplikacji , możesz użyć tejApplication.Windows
właściwości, aby uzyskać dostęp do wszystkich okien, a następnie użyć,WindowInteropHandler
aby uzyskać dostęp do ich uchwytów, jak już zademonstrowałeś.źródło