<p>In WPF, I want to create a hyperlink that navigates to the details of an object, and I want the text of the hyperlink to be the name of the object. Right now, I have this:</p>

<pre><code>&lt;TextBlock&gt;&lt;Hyperlink Command="local:MyCommands.ViewDetails" CommandParameter="{Binding}"&gt;Object Name&lt;/Hyperlink&gt;&lt;/TextBlock&gt;
</code></pre>

<p>But I want "Object Name" to be bound to the actual name of the object. I would like to do something like this:</p>

<pre><code>&lt;TextBlock&gt;&lt;Hyperlink Command="local:MyCommands.ViewDetails" CommandParameter="{Binding}" Text="{Binding Path=Name}"/&gt;&lt;/TextBlock&gt;
</code></pre>

<p>However, the Hyperlink class does not have a text or content property that is suitable for data binding (that is, a dependency property).</p>

<p>Any ideas?</p>

It looks strange, but it works. We do it in about 20 different places in our app.
```
Hyperlink
```
implicitly constructs a
```
<Run/>
```
if you put text in its "content", but in .NET 3.5
```
<Run/>
```
won't let you bind to it, so you've got to explicitly use a
```
TextBlock
```
.
```
```
<TextBlock>
    <Hyperlink Command="local:MyCommands.ViewDetails" CommandParameter="{Binding}">
        <TextBlock Text="{Binding Path=Name}"/>
    </Hyperlink>
</TextBlock>
```
```
Update
: Note that as of .NET 4.0 the
Run.Text property
can now be bound:
```
```
<Run Text="{Binding Path=Name}" />
```
```