2010-02-17 3 views

risposta

16

Utilizzare un TextBlock per contenere il testo formattato:

<Button> 
    <TextBlock>Hey <Bold>you</Bold>!!!</TextBlock> 
</Button> 

Per il tuo commento, se si vuole essere esplicito sul fatto che questa imposta la proprietà Content, è possibile utilizzare XAML sintassi elemento immobili per farlo:

<Button> 
    <Button.Content> 
    <TextBlock>Hey <Bold>you</Bold>!!!</TextBlock> 
    </Button.Content> 
</Button> 

Tuttavia questa è ridondante in quanto Button ha una ContentPropertyAttribute che rende la prima versione esattamente equivalente al secondo comunque.

+0

Perfetto! Questo farà il lavoro. Ora, c'è un modo per metterlo nei Contenuti? Non che ne abbia bisogno, sto solo cercando di capire cosa sta succedendo qui. –

+1

No. Un attributo può contenere solo testo normale. – SLaks

+0

L'unico modo per fare ciò che vuoi è come pubblicato. Quando si utilizza la proprietà Content, è come impostare il testo nei vecchi WinForms. –

2

Prova <Button><TextBlock>a<Bold>b</Bold>c</TextBlock></Button>.

5

Questo funzionerà.

<Grid> 
    <Button Name="button1" Width="40" Height="40" 
      Content="something" FontWeight="Bold" /> 
</Grid> 
+1

Questo non è quello che ho chiesto .. –

+0

Ah, vedo che vuoi solo un testo in grassetto e non tutto ... –