Automatically capitalize all input in WPF

2020-03-08 12:16发布

Is there a way to automatically capitalize all input thoughtout a WPF app?

4条回答
放荡不羁爱自由
2楼-- · 2020-03-08 12:24

I don't know if this'll help, it capitalizes all the first letters in the sentence.

http://www.mardymonkey.co.uk/blog/auto-capitalise-a-text-control-in-wpf/

查看更多
地球回转人心会变
3楼-- · 2020-03-08 12:28

You can case all input into TextBox controls with the following property:

CharacterCasing="Upper"

To apply to all TextBox controls in the entire application create a style for all TextBox controls:

<Style TargetType="{x:Type TextBox}">
    <Setter Property="CharacterCasing" Value="Upper"/>
</Style>
查看更多
劳资没心,怎么记你
4楼-- · 2020-03-08 12:41

I recommend creating a custom Textbox class and override an event to automatically capitalize the text. First, this depends on if you want the text to be capitalize as they type or after input is finished.

E.g. for after input is finished

public class AutoCapizalizeTextBox: TextBox
{
  public AutoCapitalizeTextBox()
  {
  }

  public AutoCapitlizeTextBox()
  {
  }

  protected override void OnLostFocus(EventArgs e)
  {
    this.Text = this.Text.ToUpper();

    base.OnLostFocus(e);
  }
}
查看更多
看我几分像从前
5楼-- · 2020-03-08 12:43

If you want to capitalize the input for a single TextBox rather than all TextBoxes like above, you can use the following:

<TextBox CharacterCasing="Upper"/>
查看更多
登录 后发表回答