gpt4 book ai didi

windows-phone-7 - 以编程方式添加 WP7 ContextMenu

转载 作者:行者123 更新时间:2023-12-04 06:59:52 24 4
gpt4 key购买 nike

我正在动态加载页面上的元素(读取 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 );

我想添加一个 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 );

如何向 StackPanel 添加上下文菜单以编程方式?

另外,有没有更好的方法来解决这个问题?也许通过将 2 种不同类型的上下文菜单存储在 XAML 资源部分并根据需要添加它们?我尝试通过将上下文菜单添加到父级的 StackPanel.Resource 来做到这一点。部分但收到错误消息“属性元素不能是另一个属性元素的直接子元素”

在此先感谢您的帮助

最佳答案

ContextMenuService.SetContextMenu(sp, cm);

关于windows-phone-7 - 以编程方式添加 WP7 ContextMenu,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4543654/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com