来自动态创建控件的WPF和事件
我需要一些帮助来实现一些控件中的常见行为 在我的WPF应用程序中,我有一个包含面板和按钮的主窗体: 好啊 单击按钮时将运行一个保存方法。保存方法从表单中读取一些数据,并将数据保存到数据库中 面板中填充了动态创建的控件,如textbox、DropDownList等。主窗体实例化了MainViewModel类。这个MainViewModel类实例化了一个名为UIFactory的类。我们这里有三个层次 在UIFactory类中,正在创建控件。主窗体中的面板作为参数发送给MainModelView类中名为GenerateUI的方法。MainViewModel类中的GenerateUI方法调用UIFactory类上的GenerateControl方法,该方法将同一面板作为参数。然后UIFactory类中的GenerateControl方法在面板上添加动态创建的控件 我想要实现的是,每当用户在输入一个动态创建的控件(例如文本框)时点击ENTER键时,我希望该行为与单击主窗体中的按钮相同。但是我该怎么做呢?我想在我的控件上实现路由事件,但我不知道如何实现。你能告诉我如何实现我的目标吗 致以最良好的祝愿来自动态创建控件的WPF和事件,wpf,events,controls,routed,Wpf,Events,Controls,Routed,我需要一些帮助来实现一些控件中的常见行为 在我的WPF应用程序中,我有一个包含面板和按钮的主窗体: 好啊 单击按钮时将运行一个保存方法。保存方法从表单中读取一些数据,并将数据保存到数据库中 面板中填充了动态创建的控件,如textbox、DropDownList等。主窗体实例化了MainViewModel类。这个MainViewModel类实例化了一个名为UIFactory的类。我们这里有三个层次 在UIFactory类中,正在创建控件。主窗体中的面板作为参数发送给MainModelView类
OKB可能附带的活动会对您有所帮助。您可以在包含动态创建控件的主面板上进行设置,然后如果按下的键是ENTER键,则执行保存操作。我确实设法创建了解决问题的方法: 我所做的是创建一个自定义用户controllet,称之为容器。此控件使用WindowsFormsHost而不是面板托管在我的wpf应用程序中。然后,我将动态创建的用户控件添加到新的自定义用户控件容器中,并在每个子控件的KeyUp事件上添加KeyEventHandler。 我在容器中创建了一个自定义事件和事件处理程序,它将捕获子控件中的所有KeyUp事件,检查e.KeyValue==13是否输入,然后从将在我的wpf表单中处理的容器中引发自定义事件。虽然很难看,但很管用