Pra*_*ian 4 contextmenu silverlight-toolkit windows-phone-7
我正在动态地在页面上加载元素(读取XML文件的内容).动态内容被加载到StackPanel.内容的每个元素由一个TextBlock和另一个UI元素组成,因此对于每对我创建一个新的StackPanel,然后将其添加到父元素StackPanel.代码如下所示:
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 );
Run Code Online (Sandbox Code Playgroud)
我想将添加ContextMenu到这个StackPanel(sp不parentSP); 根据从文件中读取的一些参数,它可以是2个不同的上下文菜单之一.我尝试了以下但它不起作用:
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 );
Run Code Online (Sandbox Code Playgroud)
如何以StackPanel编程方式添加上下文菜单?
另外,有没有更好的方法来解决这个问题?也许通过在XAML资源部分中存储2种不同类型的上下文菜单并根据需要添加它们?我尝试通过将上下文菜单添加到父StackPanel.Resource节的部分来做到这一点,但得到一个错误说"属性元素不能是另一个属性元素的直接子节点"
在此先感谢您的帮助
ContextMenuService.SetContextMenu(sp, cm);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4245 次 |
| 最近记录: |