2016-03-03 1 views
0

J'ai un problème avec la sélection de texte TextBlock (Windows Store apps, C#). Si je définis IsTextSelectionEnabled = True, je ne peux pas appuyer sur le texte. Je dois être en mesure d'ouvrir popup sur le texte de bande et sélectionnez ce texte, mais il semble que je ne peux pas faire les deux.Windows Store aps - sélectionnez le texte et appuyez sur

Est-il possible d'avoir les deux - Sélection de texte et Tap - pour une TextBlock?

Modifié: J'ai besoin Sélection de texte pour pouvoir copier le texte .

Modifié: TextSelection et fonction de copie fonctionne pour plusieurs texte de texte, où chaque mot est pas tappable.

  1. Set propriété TextBlock IsTextSelectionEnabled = True

  2. de texte à TextBlock, en utilisant 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); 
    

Mais si le texte entier est tappable, cette solution ne permet pas.

  1. Si je mets le texte comme celui-ci:

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

Je ne peux pas taper du texte. Je ne peux que copier ce texte.

  1. Si je mets le texte comme ceci:

    Hyperlink hyperlink = new Hyperlink(); 
    hyperlink.Inlines.Add(new Run() { Text = "Click here" }); 
    hyperlink.Click += hyperlink_Click; 
    textBlock.Inlines.Add(hyperlink); 
    

Alors je ne peux pas copier du texte. Je peux seulement taper dessus.

Répondre

0

L'utilisation de IsTextSelectionEnabled gère l'événement Tap lui-même. Vous n'aurez donc pas la capacité d'utiliser les deux. Si vous souhaitez afficher PopUp lorsque le texte est sélectionné, vous pouvez utiliser l'événement SelectionChanged.

MISE À JOUR

Si vous avez juste besoin de l'utilisateur pour pouvoir copier une partie de texte que vous n'avez pas besoin de créer une PopUp. Il suffit d'activer IsTextSelectionEnabled et l'utilisateur sera en mesure de sélectionner une partie du texte, appuyez sur le bouton droit de la souris et copiez le texte en utilisant TextBlockPopUp.Et dans le cas où il s'agit d'une interaction par contact ou par stylet, ce message PopUp s'affichera juste après que l'utilisateur ait sélectionné le texte.

enter image description here

+0

Si j'utilise 'événement SelectionChanged', alors éjetera toujours ouverte sur la sélection de texte. J'ai besoin de la possibilité d'ouvrir PopUp, lorsque l'utilisateur appuie sur le texte, et la possibilité de ** copier ** le même texte. Est-ce possible? –

+0

@VictoriaO. donc vous voulez que l'utilisateur puisse choisir n'importe quel texte ou juste un mot? – khamitimur

+0

N'importe quel texte. Parfois, il n'y a qu'un seul mot et il est tappable. –