gpt4 book ai didi

wpf - 简单的 WPF 格式问题

转载 作者:行者123 更新时间:2023-12-04 17:28:30 27 4
gpt4 key购买 nike

如何在不使用单独的前缀控件的情况下为 StackPanel 中的 TextBlock 控件中的绑定(bind)值添加前缀?

例如,假设我有一个对话框,它使用 TreeView 显示书籍列表,顶部节点是标题,一组用于其他书籍属性(ISBN、作者等)的下级节点。

我的绑定(bind)工作正常,但我的用户希望书籍属性列表垂直堆叠,并且显然,他希望每个属性节点在值之前都有一个描述性前缀(例如,“作者:Erich Gamma”而不是“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 书籍,但我想我不知道搜索我想说的内容的正确方法。

谢谢!

最佳答案

如果你有 .Net 3.5 SP1,你可以通过 StringFormat 轻松实现

<TextBlock Text="{Binding Path=Title, StringFormat= Title: {0}}" />

你也可以这样做
<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="Author: {0}, Title: {1}">
<Binding Path="Author"/>
<Binding Path="Title"/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>

如果您不使用 SP1,
然后你可以使用 ValueConverter

关于wpf - 简单的 WPF 格式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2371251/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com