我有以下XAML:

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


现在,我想在运行时使用绑定替换文本“ Foo”,但是显然我不能在此处放置{..}绑定来代替Foo。正确的方法是什么?

最佳答案

我碰到了这个

<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>

10-08 15:56