我们可以包含默认值+绑定数据的内容吗?

时间:2019-04-24 13:28:34

标签: c# wpf binding

我想知道WPF中是否有可能执行以下操作:

<Label Content="ValueWhoNeverChange + {Binding MyTargetValue}"/>

2 个答案:

答案 0 :(得分:2)

您可以使用ContentStringFormat属性,例如

<changeSet id="foo" author="bar">
    <preConditions onFail="MARK_RAN">
        <columnExists tableName="your_table" columnName="your_column"/>
    </preConditions>
    <dropColumn tableName="your_table" columnName="your_column"/>
</changeSet>

希望它能对您有所帮助。

答案 1 :(得分:1)

恐怕XAML中不支持+运算符,因此,如果要显示ValueWhoNeverChangeMyTargetValue的总和,则必须编写一些代码。

您可以定义一个只读属性,该属性返回总和并绑定到该属性:

public int Sum => ValueWhoNeverChange + MyTargetValue;

PropertyChanged设置为新值时,请记住引发Sum属性的MyTargetValue事件。

或者您可以使用转换器:http://www.codearsenal.net/2013/12/wpf-multibinding-example.html#.XMBnQ0xuJaQ

<Label>
    <Label.Content>
        <MultiBinding>
            <MultiBinding.Converter>
                <local:MultiC />
            </MultiBinding.Converter>
            <Binding Path="ValueWhoNeverChange" />
            <Binding Path="MyTargetValue" />
        </MultiBinding>
    </Label.Content>
</Label>

顺便说一句,您应该使用TextBlock而不是Label在WPF中显示文本。