2011-12-09 18 views
1

I以下のXAMLを持っていた:XAMLラベル:テキストスタイルを使用している場合、テキストコンテンツを結合

<Label> 
    <Underline Foreground="Blue">Foo</Underline> 
</Label> 

私はバインディングを使用して、実行時にテキスト「foo」を交換したいのですが、明らかに私が配置することはできませんここのFooの代わりに{..}バインディングがあります。これを行う正しい方法は何ですか?

+0

コンテンツ=「{バインディングテキスト}?(単なる推測) –

+0

それが通常だろう「コンテンツ=」{バインディングテキスト} '、それは良い推測ですが、このコントロールは異なります。かなり予期しない。 – peter

答えて

4

私は

<Label> 
    <Underline Foreground="Blue"> 
     <Underline.Inlines> 
      <TextBlock Text="{Binding Text}"></TextBlock> 
     </Underline.Inlines> 
    </Underline> 
</Label> 

、この出くわしたそして実際に、あなたは

<Label> 
    <Underline Foreground="Blue"> 
     <TextBlock Text="{Binding Text}"></TextBlock> 
    </Underline> 
</Label> 

それともだから戻って、このよう

<Label Name="label"> 
    <TextBlock Name="textBlock" TextDecorations="Underline" Text="Test"/> 
</Label> 

をそれを行うことができ、これにそれを減らすことができますあなたのインラインを定義していたテキスト 'Foo'で下線を引いてください。

http://msdn.microsoft.com/en-us/library/system.windows.documents.underline.aspx

これは、下線付きのテキストの装飾をレンダリングするコンテンツを引き起こし、この、

インラインレベルフローコンテンツ要素と言います。

だから、インラインのグループがあり、この形式をとり、

<Underline> 
    Inlines 
</Underline> 
関連する問題