在WPF KeyDown中更改密钥

时间:2010-05-10 17:57:29

标签: wpf key keydown keystrokes

旧版应用转化问题。 VB6 TextBox_KeyDown()允许更改键(例如,强制键击到大写但有许多其他用途)。如何在WPF中完成?

我能看到的唯一方法是处理所有TextBox键击。实际上,重新实现TextBox编辑。我宁愿不去那里。

1 个答案:

答案 0 :(得分:0)

非常快速和肮脏的解决方案。假设您想将TextBox.Text值绑定到某个东西,您可以编写一个只调用字符串上的ToUpper()的转换器。

在下面的示例中,文本框绑定到自身。这很可能不是你想要的,但它可能会激发你的灵感。

<local:UpperConverter x:Key="toUpperConverter" />

...

<TextBox Text="{Binding RelativeSource={RelativeSource Mode=Self},
                                Path=Text, Mode=OneWay, Converter={StaticResource toUpperConverter},
                                UpdateSourceTrigger=PropertyChanged}" />

...

class UpperConverter:IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            return value.ToString().ToUpper();
        }