MenuFlyout - 编码项目
MenuFlyout - code an Item
我刚刚创建了一个小弹出窗口:
MenuFlyout flyout = new MenuFlyout();
flyout.Items.Add(new X_UWP_App.Models.MyMenuFlyoutItem() { Text = "Copy" });
flyout.ShowAt(rect);
我可以标记文本。标记文本后,此弹出窗口中会出现 "Copy"。
现在我想知道如何将一些代码放在 "Copy"?
后面
我也想过这样的事情,但好像不太对。
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);
这就是这 3 行的真实样子。请注意 m_view.vSelGetText() 不起作用。 m_view 未在此 class 中分配。我怎么能实现它所以它被分配了。因为现在如果我点击 "Copy" 它会复制 "Copy"。这是我得到的错误:"An object reference is required for the non-static field, method, or property x.m_view"
您的代码看起来正确,您已经实现了 MyMenuFlyoutItem
,您可以像下面这样在 class 中添加 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;
}
}
我刚刚创建了一个小弹出窗口:
MenuFlyout flyout = new MenuFlyout();
flyout.Items.Add(new X_UWP_App.Models.MyMenuFlyoutItem() { Text = "Copy" });
flyout.ShowAt(rect);
我可以标记文本。标记文本后,此弹出窗口中会出现 "Copy"。 现在我想知道如何将一些代码放在 "Copy"?
后面我也想过这样的事情,但好像不太对。
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);
这就是这 3 行的真实样子。请注意 m_view.vSelGetText() 不起作用。 m_view 未在此 class 中分配。我怎么能实现它所以它被分配了。因为现在如果我点击 "Copy" 它会复制 "Copy"。这是我得到的错误:"An object reference is required for the non-static field, method, or property x.m_view"
您的代码看起来正确,您已经实现了 MyMenuFlyoutItem
,您可以像下面这样在 class 中添加 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;
}
}