如何用XAML在WPF中转换小写字母到大写字母

本文关键字:小写字 大写字母 转换 何用 XAML WPF | 更新日期: 2023-09-27 17:49:15

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

<TextBox Height="86" CharacterCasing="Upper"/>

我想在TextBlock, LabelButton中实现相同的场景。

我该怎么做?

如何用XAML在WPF中转换小写字母到大写字母

您应该使用值转换器:

public class ToUpperValueConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        var str = value as string;
        return string.IsNullOrEmpty(str) ? string.Empty : str.ToUpper();
    }
    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        return null;
    }
}

方法之一是使用NotifyOnTargetUpdated并处理TextChanged事件。

XAML

<TextBlock Name="TB" Text="{Binding Path=YourProperty, NotifyOnTargetUpdated=True}"
               TargetUpdated="TB_TargetUpdated" />

背后的代码
private void TB_TargetUpdated(object sender, DataTransferEventArgs e)
{
   TB.Text = TB.Text.ToUpper();
}

看一下:如何使所有文本大写/大写?

更一般地说,每次你想要转换一个值进入一个控件,考虑一个转换器并自己编写它(或者使用它,如果它已经存在)。

您可以在这里找到有关转换器的其他文档:http://wpftutorial.net/ValueConverters.html.