Tengo un cuadro de texto que contiene enlaces. Los contenidos del texto se generan durante el tiempo de ejecución. Mi problema es que no se puede hacer clic en los enlaces dentro del texto. todos los enlaces dentro del bloque de texto se pueden hacer clic, de modo que cuando toco un enlace, se abra el navegador web. En Android, podemos configurarlo usando autolink. ¿Esa opción está disponible en wp7 o en wp7.1 mango?Cómo establecer los enlaces en un bloque de texto que se puede hacer clic en wp7
Respuesta
Utilice un HyperLink.
<TextBlock>
<Run>Pure Text</Run>
<Hyperlink Command="{Binding HyperLinkTapped}">http://google.com</Hyperlink>
<Run>Pure Text Again</Run>
</TextBlock>
Esto es compatible con Windows Phone 7.1 (Mango).
Puede crear su propio FlowDocument a partir de sus datos, en tiempo de ejecución, si es necesario.
Ejemplo sobre cómo generar un FlowDocument de una cadena:
private void OnMessageReceived(string message)
{
var textBlock = new RichTextBox()
{
TextWrapping = TextWrapping.Wrap,
IsReadOnly = true,
};
var paragraph = new Paragraph();
var runs = new List<Inline>();
foreach (var word in message.Split(' '))
{
Uri uri;
if (Uri.TryCreate(word, UriKind.Absolute, out uri) ||
(word.StartsWith("www.") && Uri.TryCreate("http://" + word, UriKind.Absolute, out uri)))
{
var link = new Hyperlink();
link.Inlines.Add(new Run() { Text = word });
link.Click += (sender, e) =>
{
var hyperLink = (sender as Hyperlink);
new WebBrowserTask() { Uri = uri }.Show();
};
runs.Add(link);
}
else
{
runs.Add(new Run() { Text = word });
}
runs.Add(new Run() { Text = " "});
}
foreach (var run in runs)
paragraph.Inlines.Add(run);
textBlock.Blocks.Add(paragraph);
MessagesListBox.Children.Add(textBlock);
MessagesListBox.UpdateLayout();
}
No hay una función incorporada para hacer esto.
Si su texto (incluidos los enlaces) es HTML, puede visualizarlo en un control WebBrowser.
Si no es así, tendrá que analizar el texto y crear los enlaces usted mismo. (Una combinación de TextBlocks y HyperlinkButtons dentro de un WrapPanel es probablemente el camino a seguir para esto.)
No hay motivo para usar HyperlinkButton ;-) –
En contol RichTextBox Silverlight puede ayudar.
<RichTextBox>
<Paragraph>
<Run Text="This have to navigate me to Google: "/>
<Hyperlink NavigateUri="http://google.com" TargetName="_blank">google.com</Hyperlink>
</Paragraph>
</RichTextBox>
Perfecto - ¡Gracias! –
- 1. mejor manera de hacer clic en enlaces en el bloque de texto
- 2. ¿Cómo hacer enlaces para hacer clic en un QTextEdit?
- 3. ¿Cómo hacer que un bloque de texto parpadee en wpf?
- 4. Cómo usar el bloque de texto multilínea en wp7?
- 5. ¿Cómo agregar enlaces que se pueden hacer clic a un campo en el administrador de Django?
- 6. ¿Cambiar el color de TextView que se puede hacer clic en el foco y hacer clic?
- 7. Hacer enlaces hacer clic en Javascript?
- 8. Tener texto que se borra al hacer clic en él
- 9. ¿Cómo puedo hacer un botón invisible, pero que se puede hacer clic en C#
- 10. android: html en la vista de texto con el enlace que se puede hacer clic
- 11. WPF - Haciendo que los hipervínculos se puedan hacer clic
- 12. imagen en la que se puede hacer clic - android
- 13. ¿Cómo hacer enlaces detrás de un div con un valor de índice z superior en el que se puede hacer clic?
- 14. Html hacer que se pueda hacer clic en el texto sin convertirlo en un hipervínculo
- 15. Habilitar iconos de parada de bus en los que se puede hacer clic en Google Maps
- 16. ¿Cómo hacer que se haga clic en una sección DIV?
- 17. Haciendo un JButton se puede hacer clic en un JTable
- 18. WP7 ¿cómo hacer un menú con mosaicos?
- 19. ¿Cómo hacer que el botón no se pueda hacer clic después de hacer clic en él?
- 20. ¿Cómo puedo hacer que un área no se pueda hacer clic en CSS?
- 21. URL que se puede hacer clic en un cuadro de mensaje de Winform?
- 22. CSS: ¿Se puede hacer clic en un objeto oculto?
- 23. Hacer un elemento de la lista que se puede hacer clic (HTML/CSS)
- 24. Cómo hacer que Git en Windows ignore los enlaces simbólicos
- 25. ¿Cómo hacer que una parte del texto se pueda hacer clic como botón en Android?
- 26. ¿Cómo agregar un botón que se puede hacer clic en la celda de la tabla?
- 27. ¿Hay alguna manera de hacer que un enlace se pueda hacer clic en el terminal OSX?
- 28. Creación Gridview que tienen imágenes se puede hacer clic, Android
- 29. ¿Al hacer clic en el elemento principal, también se puede hacer clic en el elemento secundario?
- 30. ¿Cómo hago que un enlace no se pueda hacer clic?
Actualizado con un ejemplo completo. –
Estoy usando 7.1, y este xaml ni siquiera compila para mí. – Nathan
Primero, debe ser 'Hipervínculo',' l' es minúscula. En segundo lugar, no puedo obtener el código xaml para compilar en un proyecto 7.1 ... –