WPF中字符串的字符串格式是什么?

时间:2012-10-25 00:16:22

标签: wpf user-controls wpf-controls string-formatting wpftoolkit

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

    StringFormat="{}{0:C}"

我正在进行验证。我想在textBox中只输入Alphabets需要首字母大写字母的大写字母。当我输入任何数值时它会显示错误,但是使用任何WPF验证,但我不知道怎么做StringFormat用于字母

1 个答案:

答案 0 :(得分: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