我有TextBox
,它允許只插入數值(過濾),但是當我粘貼複製的文本時,它允許任何種類的符號。如何在粘貼前防止或過濾文本?在Silverlight 4中過濾粘貼
4
A
回答
1
你可以任何手動輸入之前備份您的文字,然後在所提供的輸入無效,恢復到以前的文字,像這樣:
_backupText = string.Empty;
doNotPasteTextBox.TextInputStart += (sender, e) =>
{
int textParsed;
if(int.TryParse(e.Text,out textParsed))
{
_backupText = doNotPasteTextBox.Text.Insert(doNotPasteTextBox.SelectionStart, e.Text);
}else
{
e.Handled = true;
}
};
doNotPasteTextBox.TextChanged += (sender, e) =>
{
int textParsed;
int selectionStart = doNotPasteTextBox.SelectionStart;
if(!int.TryParse(doNotPasteTextBox.Text, out textParsed))
{
doNotPasteTextBox.Text = _backupText;
}
doNotPasteTextBox.SelectionStart = selectionStart;
};
我不會推薦trying to capture the control keys或任何東西,因爲當你在Mac或Linux上,那麼你就搞砸了。
調整我的示例,並將其倒入一個新的文本框控件,使其更清潔,但你明白了。
1
您可以使用Clipboard.GetText()來獲取插入到文本框中的文本,但會彈出一條消息,並且用戶必須授予應用程序訪問剪貼板的權限。
如果它對你沒有問題,那麼我會用這個。
相關問題
- 1. 處理Silverlight 4 RichTextBox粘貼事件
- 2. 粘貼過濾的表格
- 3. VBA - 過濾器/剪切/粘貼
- 4. 複製/粘貼過濾單元VBA
- 5. 粘貼在新工作表後應用過濾器粘貼什麼都沒有
- 6. 將圖像粘貼到Silverlight中
- 7. Silverlight 4 PagedCollectionView與多個過濾器
- 8. 粘貼到Cygwin 4中的問題; 2〜
- 9. 在PowerShell中粘貼
- 10. 「粘貼全部」粘貼時
- 11. 粘貼vs粘貼特殊
- 12. 如何在Silverlight中禁用複製粘貼到密碼框中
- 13. 的jqGrid:剪切和粘貼過濾器工具欄不會觸發過濾
- 14. 從剪貼板粘貼到Flex 4 DataGrid單元中
- 15. 粘貼字體粘貼到剪貼板
- 16. 在Silverlight 4應用程序中通過https與Silverlight 4
- 17. 如何讓TextChanged在Silverlight中複製/粘貼TextBox?
- 18. 打開記事本,在Silverlight中粘貼文本
- 19. 限制用戶在Silverlight中複製粘貼url
- 20. 將多個過濾條件粘貼到一張表中而不粘貼原始數據?
- 21. 過濾數據集時未粘貼的複製功能
- 22. 如何過濾複製粘貼字符串目標c
- 23. 將過濾結果粘貼到另一張紙
- 24. 複製過濾的值並粘貼到不同的工作表
- 25. 只粘貼過濾範圍內的格式
- 26. NSTextView粘貼:當粘貼「foo」時,如何粘貼「bar」?
- 27. Silverlight 4/XAML:如何製作Simmilar按鈕樣式\模板而無需粘貼
- 28. 粘貼
- 29. 在Excel中粘貼值C#
- 30. 在JavaScript中複製/粘貼?