是否可以在 XAML 数据绑定中使用常量字符串来约束数据绑定值
本文关键字:数据绑定 常量 字符串 约束 XAML 是否 | 更新日期: 2023-09-27 17:57:24
若要将值绑定到TextBlock
,我们使用以下语法来显示有界对象的
<TextBlock Text="{Binding Path=ItemName}" />
但是是否有语法可以使用上述标签将常量字符串"Item"与数据绑定属性连接起来,以便在TextBlock
中显示以下内容:Item可以在
绑定中使用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>