2016-03-03 117 views
0

我遇到TextBlock文本選擇問題(Windows應用商店應用程序,C#)Windows Store aps - 選擇文本並點擊

如果我設置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); 
    

如果整個文本是可點擊,這個解決方案沒有幫助

  1. 如果我設置的文字是這樣的:

    textBlock.Text = "Click here"; 
    textBlock.Tapped += textBlock_Tapped; 
    

那麼我就不能挖掘文本。我只能複製這些文字。

  • 如果設置了文本這樣的:

    Hyperlink hyperlink = new Hyperlink(); 
    hyperlink.Inlines.Add(new Run() { Text = "Click here" }); 
    hyperlink.Click += hyperlink_Click; 
    textBlock.Inlines.Add(hyperlink); 
    
  • 然後我不能複製的文字。我只能點擊它。

    回答

    0

    使用IsTextSelectionEnabled將自行處理Tap事件。所以你將無法使用兩者。如果要在文本被選中時顯示PopUp,則可以使用SelectionChanged事件。

    UPDATE

    如果你只需要用戶能夠複製文本的任何部分,你不需要創建任何PopUp。只需啓用IsTextSelectionEnabled,用戶將能夠選擇任何文本部分,按下鼠標右鍵並使用TextBlock自己的PopUp複製文本。如果是觸摸或筆交互,這個PopUp將在用戶選擇文本後立即顯示。

    enter image description here

    +0

    如果我使用'SelectionChanged'事件,那麼就會對文本選擇總是打開彈出窗口。 我需要能夠在用戶點擊文本時打開彈出窗口,並能夠**複製相同的文本。 這可能嗎? –

    +0

    @VictoriaO。所以你希望用戶能夠選擇任何文本或只是單詞? – khamitimur

    +0

    任何文字。有時只有一個詞,它是可以點擊的。 –