Xaml 使用c创建菜单弹出按钮#

Xaml 使用c创建菜单弹出按钮#,xaml,winrt-xaml,windows-8.1,Xaml,Winrt Xaml,Windows 8.1,我想使用C#创建菜单弹出按钮。我试过这个 List<string> l = new List<string>(); l.Add("Rotate"); l.Add("Scale"); l.Add("Bring to Front"); l.Add("Send to Back"); MenuFlyout m = new MenuFlyout(); MenuFlyoutItem mn = l; m.Items.Add(mn); List l=新列表(); l、 添加(“轮换”)

我想使用C#创建菜单弹出按钮。我试过这个

List<string> l = new List<string>();
l.Add("Rotate");
l.Add("Scale");
l.Add("Bring to Front");
l.Add("Send to Back");
MenuFlyout m = new MenuFlyout();
MenuFlyoutItem mn = l;
m.Items.Add(mn);
List l=新列表();
l、 添加(“轮换”);
l、 添加(“比例”);
l、 添加(“带到前面”);
l、 添加(“发送回”);
MenuFlyout m=新的MenuFlyout();
MenuFlyoutItem mn=l;
m、 增加项目(mn);
它给出了错误,怎么做?

此代码工作:

MenuFlyout m = new MenuFlyout();
MenuFlyoutItem mn = new MenuFlyoutItem();
mn.Text = "Item 1";
m.Items.Add(mn);
m.ShowAt((FrameworkElement)sender);

MenuFlyoutItem mn=l是有问题的行。我没有Windows 8.1,因此无法证明代码“正确”,但看起来您应该在
菜单使用项中添加一些
菜单使用项
,列表中的每个项对应一个。您能提供一些代码吗?我可以猜,但由于我无法编译它,我无法确定它是否有效。您在下面的答案中的示例是我所想象的,但由于无法证明,我不愿意将其作为答案提出。我假设您使用
sender
意味着此代码位于事件处理程序中。在这种情况下,您应该在依赖它之前检查
sender
的类型,例如添加
FrameworkElement=sender as FrameworkElement;如果(element!=null){…
在块之前。