相关疑难解决方法(0)

WPF/XAML:如何在TextBlock中使所有文本大写?

我希望TextBlock中的所有字符都以大写形式显示

 <TextBlock Name="tbAbc"
            FontSize="12"
            TextAlignment="Center"
            Text="Channel Name"
            Foreground="{DynamicResource {x:Static r:RibbonSkinResources.RibbonGroupLabelFontColorBrushKey}}" />
Run Code Online (Sandbox Code Playgroud)

字符串通过Binding获取.我不想在字典本身中将字符串设为大写.

wpf xaml binding textblock uppercase

9
推荐指数
3
解决办法
2万
查看次数

WPF/XAML:Typography.Capitals似乎没有任何效果

所有这些文本看起来都一样,但我试图让它们看起来不同.我想要小帽子文字.我在这里错过了什么让小帽子排版效果起作用?

要重现这一点,请打开Visual Studio 2008,Do File | New Project,创建一个新的Windows | WPF应用程序,将下面的标记粘贴到Window1.xaml中,然后运行它.

<Window x:Class="WpfApplication1.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300">
    <Grid>
        <FlowDocumentReader>
        <FlowDocument>
            <Paragraph>
                <Run>Some text</Run> <LineBreak />
                <Run Typography.Capitals="SmallCaps">Some text</Run> <LineBreak />
                <Run Typography.Capitals="AllSmallCaps">Some text</Run> <LineBreak />
                <Run Typography.Capitals="PetiteCaps">Some text</Run> <LineBreak />
                <Run Typography.Capitals="AllPetiteCaps">Some text</Run> <LineBreak />
            </Paragraph>
        </FlowDocument>
        </FlowDocumentReader>
    </Grid>
</Window>   
Run Code Online (Sandbox Code Playgroud)

根据第一个答案,似乎如果你指定一个特定的字体,你可以到达某个地方.将FlowDocument开始标记更改为:

   <FlowDocument FontFamily="Palatino Linotype">
Run Code Online (Sandbox Code Playgroud)

..你得到SmallCaps和AllSmallCaps,但不是PetiteCaps或AllPetiteCaps.所以它取决于字体.但这引起了其他问题:

  • 为什么默认字体(看起来很像Times New Roman)不支持这些?
  • 其他广泛使用的字体(例如本地Courier New等价物)是否支持这些?
  • 是否有哪些字体支持的列表?
  • 有多少百分比的字体会支持这种情况 - 大多数,有些还是少数?
  • 你能否在代码中确定字体支持的内容 - 如果是这种情况,我可以伪造AllSmallCaps - 例如通过将文本转换为所有大写并缩放80%.但不是SmallCaps.

wpf xaml flowdocument smallcaps

6
推荐指数
1
解决办法
5022
查看次数

如何通过XAML将WPF中的小写转换为大写?

我尝试在WPF中通过XAML将大写转换为小写,如下所示:

<TextBox Height="86" CharacterCasing="Upper"/>
Run Code Online (Sandbox Code Playgroud)

我想实现用同样的场景TextBlock,LabelButton.

我该怎么做?

c# wpf xaml textbox lowercase

3
推荐指数
1
解决办法
2万
查看次数

标签 统计

wpf ×3

xaml ×3

binding ×1

c# ×1

flowdocument ×1

lowercase ×1

smallcaps ×1

textblock ×1

textbox ×1

uppercase ×1