728x90
반응형
728x170
■ Popup 클래스를 사용해 팝업을 활성화하는 방법을 보여준다.
▶ 예제 코드 (C#)
using System;
using System.Runtime.InteropServices;
using System.Windows;
using System.Windows.Controls.Primitives;
using System.Windows.Interop;
#region 전경 윈도우 설정하기 - SetForegroundWindow(windowHandle)
/// <summary>
/// 전경 윈도우 설정하기
/// </summary>
/// <param name="windowHandle">윈도우 핸들</param>
/// <returns>처리 결과</returns>
[DllImport("USER32.DLL")]
[return : MarshalAs(UnmanagedType.Bool)]
public static extern bool SetForegroundWindow(IntPtr windowHandle);
#endregion
#region 팝업 활성화 시키기 - ActivatePopup(popup)
/// <summary>
/// 팝업 활성화 시키기
/// </summary>
/// <param name="popup">팝업</param>
public void ActivatePopup(Popup popup)
{
HwndSource hwndSource = (HwndSource)PresentationSource.FromVisual(popup.Child);
IntPtr handle = hwndSource.Handle;
SetForegroundWindow(handle);
}
#endregion
※ 브라우저 애플리케이션에서 보안 때문에 Window 객체를 사용해 대화 상자를 표시하지 못하는 대신 Popup 객체를 사용하는데 내부 자식 엘리먼트에 포커스가 설정되지 않는 문제를 해결하기 위해 사용된다.
728x90
반응형
그리드형(광고전용)
'C# > WPF' 카테고리의 다른 글
[C#/WPF] MouseEventArgs 클래스 : GetPosition 메소드 사용하기 (0) | 2015.11.05 |
---|---|
[C#/WPF] 엘리먼트를 마우스로 드래그해 이동시키기 (0) | 2015.11.05 |
[C#/WPF] FrameworkElement 클래스 : 프레임워크 엘리먼트 전면으로 보이기 (0) | 2015.11.04 |
[C#/WPF] WindowsFormsHost 클래스 : WinForm 컨트롤의 부모 WindowsFormsHost 구하기 (0) | 2015.11.04 |
[C#/WPF] Adorner 클래스 사용하기 (0) | 2015.11.04 |
[C#/WPF] UIElement 클래스 : JPEG 이미지 구하기 (0) | 2015.11.04 |
[C#/WPF] WindowsFormsHost 클래스 : 브라우저 애플리케이션(XBAP)에서 사용하기 (0) | 2015.11.03 |
[C#/WPF] BrowserInteropHelper 클래스 : IsBrowserHosted 정적 속성을 사용해 브라우저 애플리케이션 (XBAP) 여부 구하기 (0) | 2015.11.03 |
[C#/WPF] x:FieldModifier 속성 : 엘리먼트를 public으로 노출시키기 (0) | 2015.10.28 |
[C#/WPF] 객체 동적 바인딩 처리하기 (0) | 2015.10.22 |
댓글을 달아 주세요