繁体   English   中英

[WPF]如何在样式设置器中设置多行文本

[英][WPF]How to set multiline text in setter of style

我需要创建许多具有相同文本的 TextBlock。

我可以像这样在 TextBlock 中设置多行文本:

<TextBlock>
    <Run Foreground="Red">the first line</Run><LineBreak />
    the second line
</TextBlock>

我想为那些 TextBlock 创建一个样式,所以我试试这个:

<Style TargetType="TextBlock" x:Key="text1">
     <Setter Property="Text">
        <Setter.Value>
            <Run Foreground="Red">the first line</Run>
            <LineBreak />
            the second line
        </Setter.Value>
    </Setter>
</Style>

但这行不通。

我想也许我应该在<Setter.Value>中添加一些东西,我尝试了一些东西但也没有任何效果。

抱歉英语不好,感谢您的任何想法。

我的朋友使用其他关键词找到这个答案: Multiple Run elements in WPF Style setter

这意味着我不能使用样式集多个 Run 元素,所以我找到了其他方法来解决这个问题:

1.使用命名空间xmlns:sys="clr-namespace:System;assembly=mscorlib"

2.添加资源

<Window.Resources>
    <sys:String x:Key="myString1">Line1 text</sys:String>
    <sys:String x:Key="myString2">Line2 text</sys:String>
</Window.Resources>

3.使用资源

<TextBlock>
    <Run Foreground="Red" Text="{StaticResource myString1}"/>
    <LineBreak />
    <Run Text="{StaticResource myString2}"/>
</TextBlock>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM