WPF:在触发器中使用字符串文字和 属性 进行多重绑定
WPF: Multibinding with string literal and property in a trigger
我正在尝试在触发器中设置 TextBlock.Text
。如果我在 setter 中绑定 属性,一切正常,但是如何 "concat" 一个字符串和一个 属性?
例如,我有一个 Date
属性。我希望文本为 "The date is 9/21/2017."
到目前为止,我设法显示“9/21/2017”,但无法弄清楚如何在它之前连接一个字符串(我只向您展示 "interesting part"):
<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>
关于如何绑定字符串文字有什么建议吗?我必须为此使用转换器还是有 "easy way"?
对于没有阅读评论的任何人,感谢 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>
我正在尝试在触发器中设置 TextBlock.Text
。如果我在 setter 中绑定 属性,一切正常,但是如何 "concat" 一个字符串和一个 属性?
例如,我有一个 Date
属性。我希望文本为 "The date is 9/21/2017."
到目前为止,我设法显示“9/21/2017”,但无法弄清楚如何在它之前连接一个字符串(我只向您展示 "interesting part"):
<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>
关于如何绑定字符串文字有什么建议吗?我必须为此使用转换器还是有 "easy way"?
对于没有阅读评论的任何人,感谢 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>