是否可以在 XAML 数据绑定中使用常量字符串来约束数据绑定值

本文关键字:数据绑定 常量 字符串 约束 XAML 是否 | 更新日期: 2023-09-27 17:57:24

若要将值绑定到TextBlock,我们使用以下语法来显示有界对象的属性。

<TextBlock Text="{Binding Path=ItemName}" />
但是是否有语法可以使用上述标签将常量字符串"Item"与数据绑定属性连接起来,以便在TextBlock中显示以下内容:Item

是否可以在 XAML 数据绑定中使用常量字符串来约束数据绑定值

可以在

绑定中使用StringFormat,如下所示:

<TextBox Text="{Binding ItemName, StringFormat={}Item: {0}}"/>

话虽如此,它可能会导致编辑时出现一些意外行为。例如,如果用户只编辑项目名称(不包括"Item:"文本),那么当文本框失去焦点时,字符串格式将显示为"项目:项目:xyz",这有点奇怪。可能有一种方法可以解决这个问题,但现在没有想到。

但是,如果用户清除了整个文本框,然后设置了名称,那么这一切都很好。

否则,最好在TextBox前面使用TextBlock。这样:

<StackPanel Orientation="Horizontal">
    <TextBlock Text="Item:" VerticalAlignment="Center"
               Margin="0,0,6,0"/>
    <TextBox Text="{Binding ItemName}"/>
</StackPanel>