所以我按照以下网站上的指南来限制文本框可以接受的字符。
http://www.rhyous.com/2010/06/18/how-to-limit-or-prevent-characters-in-a-textbox-in-csharp/
我的问题是我无法弄清楚如何在辅助类中创建事件处理程序触发器。基本上我如何告诉VS在该类而不是MainWindow中查找事件处理程序代码?我试过搜索,但显然不知道正确使用的术语。我使用的xaml参考是
xmlns:DigitBox="clr-namespace:System.Windows.Controls;assembly=PresentationFramework"
有什么想法吗?
答案 0 :(得分:2)
我发现这样做的最简单方法是在构造函数中分配事件。
public MainWindow()
{
InitializeComponent();
TextBoxCurrency.GotFocus += expandedTextBoxEvents.TextBoxCurrencyGotFocus;
TextBoxCurrency.LostFocus += expandedTextBoxEvents.TextBoxCurrencyLostFocus;
}
我已经在XAML中找到了一种方法,我没有找到一种简单易用的方法。
答案 1 :(得分:1)
使用命令和命令绑定会好得多。我不确定将为您所需功能的文本框绑定的特定命令是什么,但WPF的目标之一是减少在后面的代码中使用事件处理程序。
查看this article以获取命令概述,并查看this article以获取将命令与事件挂钩的方法。 WPF命令是实现UI和业务逻辑之间真正分离关注点的最酷功能之一。
作为最糟糕的情况解决方案,您可以创建自己的文本框,该文本框继承自文本框控件并挂接该类中的事件。您的控制权将可以重复使用。