指定混合了文本和绑定路径的按钮内容

时间:2011-03-01 19:49:04

标签: wpf xaml binding wpf-controls

如何指定混合某些TEXT和Binding路径的按钮的内容?

像这样:

<Button Content= "TEXT" + "{Binding Path=ButtonContent}"

3 个答案:

答案 0 :(得分:35)

对于大多数情况,你可以在Bindings中使用StringFormat,就像TextBlock

一样
<TextBlock Text="{Binding ElementName=textBox,
                          Path=Text,
                          StringFormat='{}{0} - Added Text'}"/>

但是,这对ContentControlButton继承)没有影响。相反,您可以使用ContentStringFormat

<Button Content="{Binding ElementName=textBox,
                          Path=Text}"
        ContentStringFormat="{}{0} - Added Text"/>

另外,

  • ContentControl您使用ContentStringFormat
  • HeaderedContentControl您使用HeaderStringFormat
  • ItemsControl您使用ItemStringFormat

答案 1 :(得分:26)

这样的事情:

<Button>
   <Button.Content>
      <TextBlock Text="{Binding SomeBindingPath, StringFormat='Some text {0}'}"/>
   </Button.Content>
</Button>

OR

<Button>
   <Button.Content>
      <StackPanel Orientation="Horizontal">
         <TextBlock Text="Some Text"/>
         <TextBlock Text="{Binding SomeBindingPath}"/>
      </StackPanel>
   </Button.Content>
</Button>

基本上,您可以使用上述方法将任何内容放入按钮中。

答案 2 :(得分:1)

在其他答案的基础上,这更简洁:

<Button Content="{Binding FirstName, StringFormat='Click here, {0}!'}" />