WinForms에 대한 경험이 있지만 WPF가 새로 도입되었습니다. 동적으로 생성 한 여러 객체에 대해 ContextMenu를 추가하려고하지만 VS 도구 상자에 ContextMenu 구성 요소가 없습니다. 그것은 w/어떤을 작성 O를 내가 내 양식에 ContextMenuStrip을 구성 요소를 삭제하고 매우 빠르게 아이템과 이벤트를 정의 할 수 있었다 윈폼에서, 그러나, 작동WPF의 ContextMenu
ContextMenu pMenu = new ContextMenu();
MenuItem item1 = new MenuItem();
MenuItem item2 = new MenuItem();
//I have about 10 items
//...
item1.Header = "item1";
item1.Click += new RoutedEventHandler(item1_Click);
pMenu.Items.Add(item1);
item2.Header = "item2";
item2.Click += new RoutedEventHandler(item2_Click);
pMenu.Items.Add(item2);
//and so on
: 내가 발견하는 유일한 방법은 다음과 같이 런타임에서의 ContextMenu를 만드는 것입니다 암호. WPF에서 가능합니까?
좋아,하지만 개체를 동적으로 만들면 어떻게 런타임에 바인딩 할 수 있습니까? – Mike
@Michael : 당신은'var pMenu = (ContextMenu) this.Resources [ "MyContextMenu"];'를 통해 런타임에 ContextMenu를 얻을 수 있어야합니다. 그러면이 변수를 동적으로 생성 된 컨트롤에 할당 할 수 있습니다. – Heinzi
감사합니다. 작동합니다. 내가 이해할 수없는 유일한 이유는 WPF에서이 모든 마법을 수행해야하며 IDE에 적절한 구성 요소와 GUI가 없기 때문에 훨씬 쉽게 작업을 수행 할 수 있다는 것입니다. – Mike