2010-07-22 3 views
4

WinForms에서 WPF 컨텍스트 메뉴를 표시 할 수 있습니까?WinForms의 WPF 메뉴

그렇다면 어떻게 할 수 있습니까?

+0

WinForms 응용 프로그램에 WinForms 컨텍스트 메뉴를 표시하지 않는 이유는 무엇입니까? –

+4

이전에 Winform에서 수행 한 양식이 있기 때문에 모든 새로운 구현은 WPF에 있으므로 기존 컨텍스트 메뉴를 재사용 할 수 있는지 궁금합니다. –

답변

0

할 수 있는지는 잘 모르겠지만 this article을 사용하면 올바른 방향으로 안내 할 수 있습니다. WPF 개발자로서 winforms와 wpf를 섞어 놓고 싶은데 이상하게 보입니다.하지만 재사용 사례를 볼 수 있습니다.

2

WindowsFormsHost (WinForm 내부의 WPForm 창) 및 ElementHost (WinForm 창 내부의 WPF)을 사용하여 2 가지 기술을 혼합 할 수 있습니다.

Winform 응용 프로그램에 WPF 메뉴를 추가 할 때 Airspace 문제가 발생하지 않습니다. 그러나 Winform UserControls를 사용하여 WPF 창을 만드는 경우에 사용할 수 있습니다. 이 Blog post에는 해결 방법에 대한 아이디어가 있지만 꽤 좋지는 않습니다.

3

OK, 그래서 내가 발견 한 자신을 ... (나는 50 포인트 현상금을 주려고 노력하지만, 내가 생각하지 않는 나 자신을 수여 할 수 있습니다 : P)를 답

우리는 기존의 여지가 WinForms ... 양식은 여전히 ​​직장에서 우리 프로젝트에 있습니다. 그리고 WinForms 프로젝트에서 WPF 컨텍스트 메뉴를 표시하는 데 필요한 비밀 코드가 있습니다!

var myMenu = new System.Windows.Controls.ContextMenu(); 
myMenu.Items.Add("One"); 
myMenu.Items.Add("Two"); 
myMenu.Items.Add("Three"); 
myMenu.IsOpen = true; 

타다 !!! - 비밀 코드가 필요하지 않습니다 ...이 코드를 WPF App 또는 WinForms 앱에 작성할 수 있으며 동일하게 작동합니다.

대답이 있습니다.

+0

나 자신을 수여 할 수있었습니다! –