WPF:在触发器

时间:2017-09-21 18:39:11

标签: wpf xaml multibinding

我正在尝试在触发器中设置TextBlock.Text。如果我在setter中绑定属性,一切正常,但是如何“连接”字符串和属性? 例如,我有一个Date属性。我希望文字是“日期是9/21/2017。”
到目前为止,我设法显示“9/21/2017”,但无法弄清楚如何在它之前连接一个字符串(我只向你展示“有趣的部分”):

<DataTrigger Binding="{Binding State}" Value="{x:Static model:Croissant+CroissantState.IsUsed}">
    <Setter Property="Text">
        <Setter.Value>
            <MultiBinding StringFormat="{}{0:d}">
                <Binding Path="Date" />
            </MultiBinding>
        </Setter.Value>
    </Setter>
</DataTrigger>

关于如何绑定字符串文字的任何建议?我是否必须使用转换器或是否有“简单方法”?

1 个答案:

答案 0 :(得分:1)

对于没有阅读评论的人,感谢Ayyappan Subramanian,解决方案是:

<DataTrigger Binding="{Binding State}" Value="{x:Static model:Croissant+CroissantState.IsUsed}">
    <Setter Property="Text">
        <Setter.Value>
            <Binding Path="Date" StringFormat="The date is {0:d}" />
        </Setter.Value>
    </Setter>
</DataTrigger>