如何用XAML在WPF中转换小写字母到大写字母
本文关键字:小写字 大写字母 转换 何用 XAML WPF | 更新日期: 2023-09-27 17:49:15
我尝试在WPF中使用XAML将大写转换为小写,如下所示:
<TextBox Height="86" CharacterCasing="Upper"/>
我想在TextBlock
, Label
和Button
中实现相同的场景。
我该怎么做?
您应该使用值转换器:
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.