2015-07-26 8 views
7

Quindi ho una casella di testo con un collegamento dati, ma voglio aggiungere del testo statico nel mio codice xaml.Associazione dati concatenati e testo statico in C#

<TextBlock Text="{Binding Preptime}"></TextBlock> 

questo mostrerà solo il numero di minuti, io voglio che sia visualizzato come: "Tempo di preparazione: 55 minuti"

 public String Preparation 
    { 
     get { return "Preparation time: " + Preptime + " minutes"; } 
    } 

So che posso utilizzare un getter per questo che sarebbe una soluzione pulita ma ci deve essere un modo per scrivere direttamente nel mio xaml?

Grazie in anticipo!

risposta

1

Dopo qualche ricerca supplementare ho scoperto che l'uso le corse potrebbero essere la soluzione più semplice. Maggiori informazioni qui: Windows Phone 8.1 XAML StringFormat

   <TextBlock> 
       <Run Text="Preparation time: "></Run> 
       <Run Text="{Binding Preptime}"></Run> 
       <Run Text=" minutes."></Run> 
      </TextBlock> 
+0

Se si sta lavorando su Windows Phone o su un'app di Windows App Store, aggiungere la tag la prossima volta. Non supporta tutte le funzionalità di un'applicazione desktop. –

7

Utilizzare la proprietà StringFormat sulla rilegatura.

<TextBlock Text="{Binding Preptime, StringFormat=Preparation time: {0} minutes}"></TextBlock> 

si comporta lo stesso String.Format

+0

Ho paura che questo non è supportato, ottengo l'errore: "La proprietà 'StringFormat' non è stato trovato nel tipo 'vincolante'". Potresti creare un convertitore personalizzato, ma dai un'occhiata alla mia risposta qui sotto, funziona ed è abbastanza pulito. – Glenn

2

È possibile utilizzare StringFormat direttamente sulla proprietà Text di TextBlock, proprio come si è utilizzato String.Format nelle vostre cs