2011-03-01 7 views
13

आप किसी टेक्स्ट की सामग्री निर्दिष्ट करते हैं जो कुछ टेक्स्ट और बाइंडिंग पथ का मिश्रण है?एक बटन सामग्री निर्दिष्ट करना जिसमें टेक्स्ट और बाध्यकारी पथ का मिश्रण है

इस तरह

:

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

आप 'के बारे में बात कर रहे हैं StringForma t'? – decyclone

उत्तर

21

कुछ इस तरह:

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

या

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

मूल रूप से, आप एक बटन के ऊपर दृष्टिकोण का उपयोग कर के अंदर किसी भी सामग्री डाल सकते हैं।

28

ज्यादातर मामलों के लिए आप एक TextBlock

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

के लिए बाइंडिंग में StringFormat उपयोग कर सकते हैं, जैसे बहरहाल, यह एक ContentControl (जो Button से विरासत में मिली) पर कोई प्रभाव नहीं है। इसके बजाय, आप

  • ContentControl के लिए ContentStringFormat

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

    इसके अलावा, उपयोग कर सकते हैं आप ContentStringFormat

  • HeaderedContentControl का उपयोग आप HeaderStringFormat
  • ItemsControl का उपयोग आप का उपयोग ItemStringFormat