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