public static void AlphabeticPasting(object sender, DataObjectPastingEventArgs e)
{
if (e.DataObject.GetDataPresent(typeof(string)))
{
var text = e.DataObject.GetData(typeof(string)) as string;
if (!Regex.IsMatch(text, (Properties.Resources.Alpha)))
{
//replace and recopy
var trimmed = Regex.Replace(text,Properties.Resources.AlphaPasting, string.Empty);
e.CancelCommand();
Clipboard.SetData(DataFormats.Text, trimmed);
ApplicationCommands.Paste.Execute(trimmed, e.Source as FrameworkElement);
}
}
}
我想限制數字部分在文本框中粘貼, 我打電話文本框,Properties.Resources.Alphabet和Properties.Resources的DataObject.Pasting屬性裏面這個方法。 AlphabetPasting是正則表達式的一部分,我在資源文件中提到了正則表達式。System.StackOverflowException在Windows動態鏈接庫
Alpha = ^[[A-Za-z-~`[email protected]#$%^&*()_+=|{}':;.,<>/\\]?]*$ and AlphaPsting = [^[A-Za-z-~`[email protected]#$%^&*()_+=|{}':;.,<>/\\]?]+
我只需要從資源文件中取正則表達式。
我得到System.StackOverFlowException如果我試圖通過文本框中的任何東西。請幫我解決這個問題。
如果您正在處理alphabeticPasting的事件,那麼當您執行ApplicationCommand.Paste.Execute時,是不是再次調用它?這可能會導致它... – iMortalitySX