internal static void SetNativeFloatingWindow(FloatingWindow floatingWindow, NativeFloatingWindow value) { NativeFloatingWindow oldValue = GetNativeFloatingWindow(floatingWindow); if (oldValue != null) { oldValue.DataContext = null; // this should fix "Cannot set Visibility or call Show or ShowDialog after window has closed." exception oldValue.Close(); } if (value == null) { floatingWindow.ClearValue(NativeFloatingWindowProperty); } else { floatingWindow.SetValue(NativeFloatingWindowProperty, value); } }