【问题标题】:How do I change the font on the bound part of a TextBlock's content?如何更改 TextBlock 内容的绑定部分的字体?
【发布时间】:2011-08-31 19:59:27
【问题描述】:

鉴于下面的TextBlock,我如何使文本的SomeString部分粗体

 <TextBlock Text="{Binding SomeString,StringFormat='{}Row: {0}'}" />

ie:如果 SomeString = "ABC" 我希望 TextBlock 看起来像这样:

行:ABC

【问题讨论】:

    标签: c# wpf xaml .net-3.5


    【解决方案1】:

    试试这样的

        <StackPanel Orientation="Horizontal">
            <TextBlock Text="Row:"/>
            <TextBlock FontWeight="Bold" Text="{Binding SomeString}"/>
        </StackPanel>
    

    【讨论】:

    • 我想这会做我想要的。我希望避免创建多个 TextBlocks。
    • 添加标签不会完成任何事情(除了增加复杂性)。只需使用 StackPanel。 DataContext="{Binding}" 怎么了?这看起来像没有操作。
    【解决方案2】:

    基本上,您可以在同一个 TextBlock 中格式化每个单独的 Run

    通过 XAML

    <TextBlock>
            <Run>Row:</Run>
            <Run FontWeight="Bold" Text="{Binding SomeString}"></Run>
    </TextBlock>
    

    MSDN Section

    希望这会有所帮助。

    【讨论】:

    • 您似乎无法绑定到RunText 属性?
    • @Phil Gan,我已经更改了示例代码。这是你想要的 ?干杯。
    • @biju,你是对的。我忽略了装订部分。请参阅我的更新答案。
    • @Karthik:不,我的意思是这行不通。 RunText 属性不是 DependencyProperty,因此无法绑定。
    • Run.Text is 从 .NET 4.0 开始可绑定,但这个问题的标签是 .NET-3.5。
    猜你喜欢
    • 1970-01-01
    • 2016-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-20
    • 1970-01-01
    • 2013-10-21
    • 1970-01-01
    相关资源
    最近更新 更多