XAML标签:使用文本样式时绑定文本内容

本文关键字:文本 绑定 样式 XAML 标签 | 更新日期: 2023-09-27 18:17:23

我有以下XAML:

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

现在我想在运行时使用绑定替换文本"Foo",但显然我不能放置{..}绑定代替这里的Foo。正确的做法是什么?

XAML标签:使用文本样式时绑定文本内容

我偶然发现了这个

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