페이지의 요소를 동적으로로드하고 있습니다 (XML 파일의 내용 읽기). 동적 내용은 StackPanel
에로드됩니다. 콘텐츠의 각 요소는 TextBlock
과 하나의 다른 UI 요소로 구성되어 있으므로 각 쌍마다 새 StackPanel
을 작성한 다음 부모 StackPanel
에 추가합니다. 코드는 다음과 같습니다프로그래밍 방식으로 WP7 ContextMenu 추가
TextBlock header = new TextBlock() {
Text = "Heading 1",
HorizontalAlignment = HorizontalAlignment.Stretch,
VerticalAlignment = VerticalAlignment.Top,
Foreground = (SolidColorBrush)Application.Current.Resources["PhoneAccentBrush"],
};
TextBox item = new TextBox() {
HorizontalAlignment = HorizontalAlignment.Stretch,
VerticalAlignment = VerticalAlignment.Top,
};
StackPanel sp = new StackPanel();
sp.Children.Add(header);
sp.Children.Add(item);
parentSP.Children.Add(sp);
내가이 StackPanel
(sp
하지 parentSP
)에 ContextMenu
를 추가 할; 파일에서 읽은 일부 매개 변수에 따라 두 가지 다른 상황에 맞는 메뉴 중 하나 일 수 있습니다. 나는 시도 다음 그러나 그것은 작동하지 않습니다 :
ContextMenu cm = new ContextMenu();
RoutedEventHandler clickHandler = new RoutedEventHandler(OnContextMenuClicked);
// Add "edit" entry
MenuItem menuItem = new MenuItem() {
Header = "edit",
Tag = "edit",
};
menuItem.Click += clickHandler;
cm.Items.Add(menuItem);
// Add "delete" entry
menuItem = new MenuItem() {
Header = "delete",
Tag = "delete",
};
menuItem.Click += clickHandler;
cm.Items.Add(menuItem);
parentSP.Children.Add(cm);
어떻게 프로그래밍 StackPanel
에 컨텍스트 메뉴를 추가하는 방법은 무엇입니까?
또한이 문제를 해결하는 더 좋은 방법이 있습니까? 어쩌면 XAML 리소스 섹션에 두 가지 유형의 컨텍스트 메뉴를 저장하고 필요에 따라 추가하는 방법일까요? 나는 부모의 StackPanel.Resource
섹션에 컨텍스트 메뉴를 추가하여이 일을하려하지만 도움을 사전에
감사합니다 "A property 요소가 다른 property 요소의 직접적인 아이가 될 수 없습니다"라는 오류를 가지고
겠습니까 그의 다른 질문들에 대한 답을 얻기에 너무 좋았습니다 ... – swinefeaster