0

我想用String.Forat字母写一个,你能告诉我怎么写吗?我知道货币的模式,但不知道字母表。我可以写StringFormat = "{}{A-Z,a-z}"字母吗?

    StringFormat="{}{0:C}"

我正在做验证。我只想在文本框中输入字母需要首字母大写其余小写字母。当我输入任何数值时,它会显示错误,但使用任何 WPF 验证,但我不知道该怎么做对字母使用 StringFormat

4

1 回答 1

1
public class MyTextBox: TextBox
{
  public MyTextBox()
{
    this.PreviewTextInput += new TextCompositionEventHandler(TextBox_PreviewTextInput);
    this.AddHandler(DataObject.PastingEvent, new DataObjectPastingEventHandler(OnPaste));
}

private void OnPaste(object sender, DataObjectPastingEventArgs e)
{            
    if (e.DataObject.GetDataPresent(typeof(String)))
    {
        String text = (String)e.DataObject.GetData(typeof(String));
        if (!IsTextAllowed(text))
        {
            e.CancelCommand();
        }
    }
    else
    {
        e.CancelCommand();
    }
}

void TextBox_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
    e.Handled = !IsTextAllowed(e.Text);
}

private static bool IsTextAllowed(string text)
{
    Regex regex = new Regex("^[a-zA-Z]+$"); //regex that matches disallowed text
    return regex.IsMatch(text);
}
}

使用上面的 customTextBox

于 2012-10-26T20:59:26.510 回答