我刚刚创建了一个小弹出窗口:
MenuFlyout flyout = new MenuFlyout();
flyout.Items.Add(new X_UWP_App.Models.MyMenuFlyoutItem() { Text = "Copy" });
flyout.ShowAt(rect);
我可以标记文本。在标记文本之后,该弹出按钮将显示为“复制”。 现在我想知道如何在“复制”后面添加一些代码?
我在想这样的事情,但这似乎不正确。
public void onFlyoutItemClick(object sender, FlyoutItemClickEventArgs e)
{
var dataPackage = new DataPackage();
dataPackage.SetText(SelGetText());
Clipboard.SetContent(dataPackage);
}
------上面的部分得到了回答。在此行下是我的下一个相关问题和答案----
var dataPackage = new DataPackage();
dataPackage.SetText(m_view.vSelGetText());
Clipboard.SetContent(dataPackage);
这是这三行的真实外观。请注意,m_view.vSelGetText()不起作用。未在此类中分配m_view。我怎么能做到这一点,所以分配它。因为现在如果我单击“复制”,它将复制“复制”。这是我得到的错误:“非静态字段,方法或属性x.m_view需要对象引用”
答案 0 :(得分:1)
您的代码看起来正确,已经实现了MyMenuFlyoutItem
,可以像下面这样在类中添加onFlyoutItemClick
。
class MyMenuFlyoutItem : MenuFlyoutItem
{
public MyMenuFlyoutItem()
{
this.Click += MyMenuFlyoutItem_Click;
}
private void MyMenuFlyoutItem_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e)
{
var dataPackage = new DataPackage();
dataPackage.SetText(SelGetText());
Clipboard.SetContent(dataPackage);
}
private string SelGetText()
{
return this.Text;
}
}