UI设计&;逻辑处理c#

本文关键字:处理 设计 UI | 更新日期: 2023-09-27 18:12:02

在我的c#项目中,我有一个带有5个选项卡的标准表单。每个选项卡提供执行某些功能的控件。我需要关于如何设计类的建议,以便我可以处理选项卡和逻辑的显示,以在其中执行操作。这里有什么我可以使用的UI设计模式吗?

问题1. 目前所有的事件都是以主形式订阅的。因此,文件的维护变得更加复杂。2. 此外,每次我们必须检查哪个选项卡是目前显示的基础上,我需要执行一些行动。这使得它更加复杂。

所以我主要是寻找做一个好的设计活动&逻辑处理与这个用户界面。(注意我使用的是标准控件,而不是WPF)

UI设计&;逻辑处理c#

您考虑过使用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。

完整的文档在这里