c# - 如何正确地为 XAML 中的数据绑定(bind)添加前缀(或后缀)?

标签 c# wpf xaml data-binding

如何对单个 TextBlock 进行数据绑定(bind)以说“嗨,耶利米”?

<TextBlock Text="Hi, {Binding Name, Mode=OneWay}"/>

寻找一个优雅的解决方案。外面有什么?我试图避免为每个前缀/后缀组合编写转换器。

最佳答案

如果您只有一个值需要插入,您可以使用 Binding 的 StringFormat属性(property)。请注意,这需要 .NET 3.5 SP1(或 .NET 3.0 SP2),因此只有在您的生产环境拥有最新服务包时才使用它。

<TextBlock Text="{Binding Name, Mode=OneWay, StringFormat='Hi, {0}'}"/>

如果您想插入两个或更多不同的绑定(bind)值,我通常只制作一个包含多个 TextBlock 的 Orientation="Horizo​​ntal"的 StackPanel,例如:

<StackPanel Orientation="Horizontal">
    <TextBlock Text="Good "/>
    <TextBlock Text="{Binding TimeOfDay}"/>
    <TextBlock Text=", "/>
    <TextBlock Text="{Binding Name}"/>
    <TextBlock Text="!"/>
</StackPanel>

关于c# - 如何正确地为 XAML 中的数据绑定(bind)添加前缀(或后缀)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1034611/

相关文章:

c# - Entity Framework Core 读取和更新多行 - 复合主键

c# - 如何在 WPF 中播放 Youtube 视频

WPF图像拉伸(stretch)填充不会拉伸(stretch)到它的 parent 的边界

c# - 对母版页和页面内容使用相同的 CSS 文件

c# - ASP.NET 站点重定向帮助

.net - 从 View 和模型更新的 MVVM 数据网格

c# - WPF - MVVM 架构(Visual Studio 解决方案和项目)

c# - 从 Datagrid 中自动修复/删除无效行

c# - 重新设计 WPF 扩展工具包的 ChildWindow

c# - 不确定在这种情况下如何正确使用 Matrix4.LookAt