gpt4 book ai didi

c# - 如何构建面向动态 GUI/类的 GUI?

转载 作者:太空宇宙 更新时间:2023-11-03 13:56:38 26 4
gpt4 key购买 nike

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

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

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

enter image description here A

最佳答案

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

WPF 中的数据绑定(bind)允许创建基于需要呈现的数据“生成”UI 的模板。

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

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

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

关于c# - 如何构建面向动态 GUI/类的 GUI?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11928804/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com