UI设计&;逻辑处理c#
本文关键字:处理 设计 UI | 更新日期: 2023-09-27 18:12:02
在我的c#项目中,我有一个带有5个选项卡的标准表单。每个选项卡提供执行某些功能的控件。我需要关于如何设计类的建议,以便我可以处理选项卡和逻辑的显示,以在其中执行操作。这里有什么我可以使用的UI设计模式吗?
问题1. 目前所有的事件都是以主形式订阅的。因此,文件的维护变得更加复杂。2. 此外,每次我们必须检查哪个选项卡是目前显示的基础上,我需要执行一些行动。这使得它更加复杂。
所以我主要是寻找做一个好的设计活动&逻辑处理与这个用户界面。(注意我使用的是标准控件,而不是WPF)
您考虑过使用PRISM吗?这可能有助于解决你的问题;它主要用于WPF,但您可以获得源代码并拉出EventAggregator源代码。
使用EventAggregator将允许你基于一个类型发布/订阅事件;例如,你像这样声明事件:public class SomethingHappenedEvent : PubSubEvent<DataToSendType>
{
}
订阅者可以像这样在您定义的方法中侦听事件:
_eventAggregator.GetEvent<SomethingHappenedEvent>().Subscribe(OnSomethingHappened);
public void OnSomethingHappened(DataToSendType data)
{
//process data
}
那么当用户执行需要通知订阅者的操作时,代码可以将其发布到所有订阅者:
_eventAggregator.GetEvent<SomethingHappenedEvent>().Publish(data);
然后你可以将业务逻辑移动到单独的类中,并使其在UI之外可测试;如果有需要,它可以迁移到MVVM。
完整的文档在这里