WPF

2011-07-15 25 views
12

bağlayıcı bir ifadede bunu yapmanın bir yolu var mı edebi metin içinde Bağlama:WPF

Text="Hello {Binding CurrentUser}" 

yani:

Açıkçası
<TextBlock HorizontalAlignment="Right" Foreground="#3163AB" Margin="0,0,0,5" 
    FontWeight="Bold" Text="Hello {Binding CurrentUser}" /> 

İki ayrı TextBlocks içine patlak verebilir, ancak bu olur çok daha güzel ol.

+0

Neden sadece biri "statik" "Merhaba" metin ve diğeriyle bağlanmış {CurrentUser} 2 denetime ayrılmıyor? İkincisi, hemen önünüzde. – Tigran

+1

@Tigran: örneğin, yerelleştirme için. – Vlad

+0

Bunu düşündüm, ama sonra birbirlerinin yanlarında olmasını sağlamak için başka bir yatay yığınPanel'de her iki metin bloğuna sahip olmalıyım, bu yüzden aşağıdaki yanıtlar gibi strongFormat'ın kullanılması çok daha basit olmalıdır. –

cevap

15

.NET 4'ten itibaren, Run'un Text özelliği bağlanabilir.

<TextBlock> 
    Hello 
    <Run Text="{Binding CurrentUser}" />, 
    how are you? 
</TextBlock> 

StringFormat yöntemi güzel, ama bir bağlama Değer Dönüştürücüler kullanımına izin ile Çalıştır kullanarak: Ben hepsini zaman kullanın.

+0

ValueConverters ile esp bilmek güzel - teşekkürler –

+0

Biliyorum bu kendimi test edebilirim, ama SL araçları yüklü değil ... Bu '' 'da Silverlight 4'te kullanılabilir mi? –

+0

Öyle görünüyor! http://msdn.microsoft.com/en-us/library/system.windows.documents.run(v=vs.95).aspx – Ross

8

Binding'un StringFormat özelliğine bakıyorsunuz.

Text="{Binding CurrentUser, StringFormat=Hello {0}}" 
+0

+1 çok teşekkürler –

5
Text="{Binding CurrentUser, StringFormat=Hello {0}}" 

yapmalıdır.

+0

"Merhaba {0}" ile düzeltmek üzereydim, ama bana onu dövdüğünüze benziyor. Harika cevap için teşekkürler. –

+0

Rica ederim! – Vlad