gpt4 book ai didi

.net - 如何在 WPF 中的 TextBlock 上应用 CharacterCasing?

转载 作者:行者123 更新时间:2023-12-05 02:23:29 25 4
gpt4 key购买 nike

我在 WPF 应用程序中有一个特定的 TextBlock。我需要将该特定 TextBlock 的文本设为大写。

尝试使用以下代码我得到这个错误:

{"'TextUpperCase' is not a valid value for property 'Style'."}

知道怎么解决吗?

  <Style x:Key="TextUpperCase" TargetType="{x:Type TextBox}">
<Setter Property="CharacterCasing" Value="Upper"/>
</Style>


<TextBlock
x:Name="ShopNameTextBlock"
TextWrapping="Wrap"
Text="{Binding Description, FallbackValue=Shop name}"
Style="TextUpperCase"
VerticalAlignment="Center"
FontFamily="/GateeClientWPF;component/Fonts/#Letter Gothic L"
FontSize="45"
Grid.ColumnSpan="2"
Margin="0,60,0,0"
FontWeight="Medium"
TextAlignment="Center"
Foreground="Black"
/>

最佳答案

CharacterCasing 不是 TextBlock 的有效属性,它适用于 TextBox

你可以拥有IValueConverter并将其与您的绑定(bind)一起使用,这会将文本转换为 Upper。


声明转换器:

public class ToUpperValueConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter,
CultureInfo culture)
{
if (value is string)
{
return value.ToString().ToUpper();
}
return String.Empty;
}

public object ConvertBack(object value, Type targetType, object parameter,
CultureInfo culture)
{
return Binding.DoNothing;
}
}

现在,在 XAML 中添加转换器的引用并像这样使用:

<TextBlock Text="{Binding Description,
Converter={StaticResource ToUpperValueConverter}}"/>

关于.net - 如何在 WPF 中的 TextBlock 上应用 CharacterCasing?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22142745/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com