2011-03-01 15 views

Respuesta

21

Algo como esto:

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

O

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

Básicamente, se puede poner cualquier contenido dentro de un botón mediante el método anterior.

28

Para la mayoría de los casos se puede utilizar StringFormat en los enlaces, al igual que para un TextBlock

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

Sin embargo, esto no tiene ningún efecto sobre un ContentControl (que hereda de Button). En su lugar, puede utilizar ContentStringFormat

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

Además, para

  • ContentControl utiliza ContentStringFormat
  • HeaderedContentControl utiliza HeaderStringFormat
  • ItemsControl utiliza ItemStringFormat
Cuestiones relacionadas