WPF: LinkButton vs Hyperlink, using the right code!!!

Hace poco publicaba un post sobre cómo crear un control LinkButton modificando el estilo y la plantilla de un control botón de WPF para añadirle la funcionaldad requerida, que estaba basado en otro post.
Pues bien, replicar contenido, aún manteniendo el origen del mismo, no creo que sea una buena línea a seguir, a pesar de que parezca un buen ejemplo de cómo modificar la funcionalidad de los controles de WPF, rectifico.


El contenido del post original no es del todo correcto, por lo que, después de pediros mil disculpas a todos por mi error, paso a exponer:


El control LinkButton como tal no existe en WPF, pero si su sinónimo, es decir, el control Hyperlink, que aporta la misma funcionalidad.
Para usarlo, debemos contener dicho control en un TextBlock en cualquier punto de nuestra interfaz o dentro de un párrafo de texto ya que se trata de un “inline-level flow content element”, es decir, un elemento pensado para usar en flujos de líneas de texto.


Un ejemplo de esto sería:


<TextBlock>
  <Hyperlink NavigateUri=http://geeks.ms>Geeks·ms</Hyperlink>
</TextBlock>


Como vemos, es mucho más sencillo y evitamos tener que suscribirnos a un evento y crear código para responder al mismo.


Espero que os sea de utilidad.

4 comentarios en “WPF: LinkButton vs Hyperlink, using the right code!!!”

  1. Hola Shadow,
    Diseñar aplicaciones para WPF/E es un poco diferente a hacerlo en aplicaciones de escritorio con la funcionalidad completa que nos aporta WPF.
    WPF/E es un subconjunto de la funcionalidad que nos aporta WPF, por lo que el modo de trabajar con este difiere de la habitual en WPF.
    En WPF/E se suelen utilizar formas dentro de canvas y se interactúa con estos objetos a través de código en JavaScript.
    Una buena herramienta de diseño para WPF/E es Expression Design, que nos permite exportar directamente a código para WPF/E.

    Espero que te haya ayudado algo a despejar tu duda.

    Un saludo.

  2. De hecho, el Hyperlink control de WPF NO te deja modificar el contenido de su texto dinámicamente: No puedes bindearle un contenido dinámico!!!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *