【发布时间】:2011-01-23 04:43:08
【问题描述】:
如何在 StackPanel 的 TextBlock 控件中为绑定值添加前缀,而不使用单独的控件作为前缀?
例如,假设我有一个对话框,它使用 TreeView 来显示书籍列表,顶部节点是标题,一组下级节点用于其他书籍属性(ISBN、作者等)。
我的绑定工作正常,但我的用户希望书籍属性列表垂直堆叠,并且显然,他希望每个属性节点在值之前都有一个描述性前缀(例如,“作者:Erich Gamma”而不是只是“埃里希伽玛”)。在我的 HDT 和 DT 元素中,我使用 StackPanel 和 TextBlock 控件来显示值。
我必须为每个属性的前缀使用单独的 TextBlock 控件
<!-- Works, but requires 2 controls to display the book author and the prefix stacks above the author -->
<TextBlock Text="Author: "/><TextBlock Text="{Binding Path=Author}" />
或者有没有办法为每个节点使用一个 TextBlock 控件?
<!-- only one control, but doesn't work -->
<TextBlock Text="Author: {Binding Path=Author}" />
我知道这一定是一个常见问题,我用 Google 搜索并搜索了我拥有的三本 WPF 书籍,但我想我不知道搜索我想说的内容的正确方法。
谢谢!
【问题讨论】:
标签: wpf xaml formatting