如何将硬编码文本与标签中的绑定文本连接起来? [复制]

Posted

技术标签:

【中文标题】如何将硬编码文本与标签中的绑定文本连接起来? [复制]【英文标题】:How can I concat hard-coded text with a binding text in a label? [duplicate] 【发布时间】:2019-04-02 06:46:54 【问题描述】:

我想使用一个列表框来制作一个包含 3 个部分的标签。第一部分是硬编码文本,第二部分是视图模型中绑定属性的值,最后一部分也是硬编码文本。

这个想法是这样的:

<ListBox x:Name="list1" ItemsSource="Binding IvasConImportes"
    BorderBrush="Transparent"
    BorderThickness="0"
    Background="Transparent">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal">
                <Label Name="lblIvaParte01" Content="TAX " HorizontalAlignment="Left" HorizontalContentAlignment="Right" Width="6.4cm" Margin="0,0,0,0" Padding="0,0,0,0" VerticalAlignment="Top"/>
                <Label Name="lblIvaParte02" Content="Binding Item1" HorizontalAlignment="Left" HorizontalContentAlignment="Left" Width="6.4cm" Margin="0,0,0,0" Padding="0,0,0,0" VerticalAlignment="Top"/>
                <Label Name="lblIvaParte03" Content="%" HorizontalAlignment="Left" HorizontalContentAlignment="Left" Width="6.4cm" Margin="0,0,0,0" Padding="0,0,0,0" VerticalAlignment="Top"/>
            </StackPanel>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

问题在于,以这种方式对齐文本有点困难,而且我猜必须有可能只用一个标签来完成所有这些,但我不知道绑定中的语法标签的内容来做到这一点。

【问题讨论】:

【参考方案1】:

使用一个TextBlock,其中包含三个Run 元素。每次运行都可以将其文本属性设置为常量或数据绑定。

<TextBlock>
    <Run Text="TAX" />
    <Run Text="Binding Item1" />
    <Run Text="%"/>
</TextBlock>

【讨论】:

注意Run默认绑定TwoWay。如果Item1 是一个只能获取的属性,你会得到一个异常。 谢谢。是的,该属性是只读的,但我可以将绑定模式更改为一种方式并解决问题。感谢您的提示。

以上是关于如何将硬编码文本与标签中的绑定文本连接起来? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何将组合框与文本框连接起来?

java如何转换富文本框中的中文编码格式,且把标签变成特殊字符

这是从标签获取文本并在iOS中与字符串连接的标准方法吗?

如何使用标题动态中的文本

我们如何将文本与 PayPal 字段变量连接起来?

如何设置绑定到文本框的标签的可见性?