How can I set the text of a WPF Hyperlink via data binding?

后端 未结 3 1962
臣服心动
臣服心动 2020-12-07 14:18

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:

相关标签:
3条回答
  • 2020-12-07 14:53

    On Windows Store app (and Windows Phone 8.1 RT app) above example does not work, use HyperlinkButton and bind Content and NavigateUri properties as ususal.

    0 讨论(0)
  • 2020-12-07 14:57

    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}" />
    
    0 讨论(0)
  • 2020-12-07 15:00

    This worked for me in a "Page".

    <TextBlock>
        <Hyperlink NavigateUri="{Binding Path}">
            <TextBlock Text="{Binding Path=Path}" />
        </Hyperlink>
    </TextBlock>
    
    0 讨论(0)
提交回复
热议问题