【发布时间】:2015-07-15 07:34:58
【问题描述】:
我有一个文本框,每当用户输入它时,我希望文本只能是大写。例如,如果我输入“abc”,则 TextBox 和后端绑定中的实际文本应该是“ABC”。
在 WPF 中有 CharacterCasing 属性,但我似乎在 Windows XAML(或任何你称之为 Windows 8 应用程序)中找不到它。
我尝试制作转换器,但这似乎不起作用:
转换器:
public class UpperCaseConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, string language)
{
return value.ToString().ToUpper();
}
public object ConvertBack(object value, Type targetType, object parameter, string language)
{
return value.ToString().ToUpper();
}
}
XAML:
<TextBox Text="{Binding ElementName=uiMainPage, Path=Company, Mode=TwoWay, Converter={StaticResource ToUpper}}"/>
【问题讨论】:
-
“这似乎不起作用”是什么意思?请注意,这不应该是双向的,因为您无法从全大写的字符串中恢复原始字符串。
-
它没有对文本做任何事情。我对你的最后一句话感到困惑,你能详细说明一下吗?
-
@kennyzx 如果这可以是通用的,我会更喜欢,所以我可以在多个地方使用它,比如转换器。有没有办法做到这一点?我在那个地区有点菜鸟......
标签: c# xaml user-interface windows-store-apps converter