2

这是一个涉及风格比什么都重要的问题。我正在寻找可以帮助我解决常见 GUI 设计问题的想法。该应用程序是在 Winforms 中完成的,并且宁愿WPF,该应用程序已经完成,但是非常完美主义者,当与其他人一起工作时,我决定必须有更好的方法来解决这个问题。

如何用一组功能封装控件?考虑到可能有多个具有相同功能的列,可以说我们有以下自定义飞机系统。这允许飞行协调员为每个飞行分配特定的飞行人员。他们可能对整个机队的所有飞机都不感兴趣,因此他们有能力在选择分配的员工之前选择他们想要查看的飞机,或者如果已经分配了员工,那么它将预先填充员工单元.

我们目前实现这个问题的方法是为每个单元格使用一个按钮,尽管这意味着我们必须在一个类中用许多按钮封装每一列。每列由一个名为“ AirplaneCrew”的类表示,并组成每个分配的人员和处理这些列数据的当前飞机。AirplaneCrew每个都附有一个AirplaneCrewGUI封装按钮列,然后将相应地生成 GUI。为了更好地理解它,我提供了一个简单UML的,它可能并不完美,但这是我对如何将类与 GUI 交织在一起的地方缺乏了解。如果有人有一本书或者可以提供如何在使用GUI元素时实现更好的实践的总结。

在此处输入图像描述 一种

4

1 回答 1

1

MVVM 和 MVP 都将视图 (UI) 与逻辑分开。

WPF 中的 DataBinding 允许创建基于需要呈现的数据“生成”UI 的模板。

我希望当前设计中缺少这两件事(或正在造成很多痛苦)。

一个灵活的 UI 需要明确的关注点分离,以便您知道在需要满足新需求时在哪里更改系统,并且当您不想手动进行所有调整时,您将需要一些逻辑(运行时或设计时)来生成系统自动基于配置和/或元数据。

如果当前技术不支持这两个功能,您将需要创建它们(大量工作),从其他人那里获取它们或切换到不同的技术。

于 2012-08-13T06:28:48.103 回答