作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 WPF 中,我想创建一个导航到对象详细信息的超链接,并且我希望超链接的文本是对象的名称。现在,我有这个:
<TextBlock><Hyperlink Command="local:MyCommands.ViewDetails" CommandParameter="{Binding}">Object Name</Hyperlink></TextBlock>
但我希望“对象名称”绑定(bind)到对象的实际名称。我想做这样的事情:
<TextBlock><Hyperlink Command="local:MyCommands.ViewDetails" CommandParameter="{Binding}" Text="{Binding Path=Name}"/></TextBlock>
但是,Hyperlink 类没有适合数据绑定(bind)的文本或内容属性(即依赖属性)。
有什么想法吗?
最佳答案
看起来很奇怪,但确实有效。我们在应用程序中大约 20 个不同的地方执行此操作。 Hyperlink
隐式构造 <Run/>
如果您将文本放入其“内容”中,但在 .NET 3.5 中 <Run/>
不会让你绑定(bind)到它,所以你必须显式使用 TextBlock
.
<TextBlock>
<Hyperlink Command="local:MyCommands.ViewDetails" CommandParameter="{Binding}">
<TextBlock Text="{Binding Path=Name}"/>
</Hyperlink>
</TextBlock>
<小时/>
更新:请注意,从 .NET 4.0 开始,Run.Text property现在可以绑定(bind):
<Run Text="{Binding Path=Name}" />
关于wpf - 如何通过数据绑定(bind)设置 WPF 超链接的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/140996/
我是一名优秀的程序员,十分优秀!