Windows应用商店aps - 选择文本并点按

时间:2016-03-03 09:16:44

标签: c# windows-store-apps textblock textselection

我遇到TextBlock文本选择(Windows应用商店应用,C#)的问题。

如果我设置 IsTextSelectionEnabled = True ,那么我就无法点按文字。 我需要能够在录制文本时打开弹出并选择此文本,但似乎我不能同时执行这两项操作。

是否可以同时使用文本选择点按 - 一个 TextBlock

已修改:我需要文字选择才能复制文字。

已修改 TextSelection 复制功能适用于多个单词文字,其中并非每个单词都可以点播。

  1. 设置TextBlock属性 IsTextSelectionEnabled = True

  2. 使用TextBlock

    将文字设置为TextBlock.Inlines
    textBlock.Inlines.Add(new Run() { Text = "Click " });
    Hyperlink hyperlink = new Hyperlink();
    hyperlink.Inlines.Add(new Run() { Text = "here" });
    hyperlink.Click += hyperlink_Click;
    textBlock.Inlines.Add(hyperlink);
    
  3. 如果整篇文章是可以点播的,那么此解决方案无效

    1. 如果我设置这样的文字:

      textBlock.Text = "Click here";
      textBlock.Tapped += textBlock_Tapped;
      
    2. 然后我无法点击文字。我只能复制这个文本。

      1. 如果我设置这样的文字:

        Hyperlink hyperlink = new Hyperlink();
        hyperlink.Inlines.Add(new Run() { Text = "Click here" });
        hyperlink.Click += hyperlink_Click;
        textBlock.Inlines.Add(hyperlink);
        
      2. 然后我无法复制文字。我只能点击它。

1 个答案:

答案 0 :(得分:0)

使用IsTextSelectionEnabled会自行处理Tap事件。所以你将无法同时使用它们。如果您希望在选择文字时显示PopUp,则可以使用SelectionChanged事件。

<强>更新

如果您只需要用户能够复制文本的任何部分,则无需创建任何PopUp。只需启用IsTextSelectionEnabled,用户就可以选择任何文字部分,按鼠标右键并使用TextBlock自己的PopUp复制文字。如果是触摸或笔交互,用户选择文本后会立即显示PopUp

enter image description here