wpf data-binding hyperlink

¿Cómo puedo configurar el texto de un hipervínculo WPF mediante enlace de datos?



data-binding hyperlink (3)

En WPF, quiero crear un hipervínculo que navegue a los detalles de un objeto, y quiero que el texto del hipervínculo sea el nombre del objeto. En este momento, tengo esto:

<TextBlock><Hyperlink Command="local:MyCommands.ViewDetails" CommandParameter="{Binding}">Object Name</Hyperlink></TextBlock>

Pero quiero que "Nombre del Objeto" se vincule con el nombre real del objeto. Me gustaría hacer algo como esto:

<TextBlock><Hyperlink Command="local:MyCommands.ViewDetails" CommandParameter="{Binding}" Text="{Binding Path=Name}"/></TextBlock>

Sin embargo, la clase Hyperlink no tiene una propiedad de texto o contenido que sea adecuada para el enlace de datos (es decir, una propiedad de dependencia).

¿Algunas ideas?


En la aplicación Windows Store (y la aplicación Windows Phone 8.1 RT) del ejemplo anterior no funciona, use HyperlinkButton y enlace las propiedades Content y NavigateUri como ususal.


Esto funcionó para mí en una "Página".

<TextBlock> <Hyperlink NavigateUri="{Binding Path}"> <TextBlock Text="{Binding Path=Path}"/> </Hyperlink></TextBlock>


Parece extraño, pero funciona. Lo hacemos en aproximadamente 20 lugares diferentes en nuestra aplicación. Hyperlink construye implícitamente un <Run/> si coloca el texto en su "contenido", pero en .NET 3.5 <Run/> no le permitirá enlazarlo, por lo que debe usar explícitamente un TextBlock .

<TextBlock> <Hyperlink Command="local:MyCommands.ViewDetails" CommandParameter="{Binding}"> <TextBlock Text="{Binding Path=Name}"/> </Hyperlink> </TextBlock>

Actualización : tenga en cuenta que a partir de .NET 4.0 la propiedad Run.Text ahora puede vincularse:

<Run Text="{Binding Path=Name}" />