這是關於用戶界面設計和編程模式的一般問題,即使我的問題來自我正在處理的WPF應用程序。用於在層次數據上構建LOB應用程序的優雅UI模式?
當數據模型是分層結構且層次結構深度> 2級時,什麼是乾淨優雅的模式來呈現數據驅動的用戶界面?最簡潔的,我的意思是一種只需要很少重複代碼的方法(與爲每種數據模型類型編寫表單相比),並且需要很少的乏味。例如,它可能依靠反思。我想這就是爲什麼我們有嵌套的數據網格。您可以在行詳細信息模板中嵌套子對象。幾乎所有的LOB應用程序都依賴分層數據,所以有人必須已經解決了這個問題。
但是,這個問題是,如果主網格有許多不同的子細節網格?用戶界面可能看起來與細節網格混亂,嵌套在主網格中並堆疊在彼此之上。
我的一些想法可能是嘗試嵌套在主網格中的選項卡控件。另一種方法是在新視圖中打開一個新的數據網格,不要嵌套網格,但是再次爲每個網格創建一個新視圖看起來就像我試圖首先避免的那種單調乏味的工作。
除了對每個視圖(和視圖模型)逐個編碼之外,是否還有一種更清晰的替代方法來構建「text boxes over data」LOB應用程序而不是分層數據模型?
我現在看到,viewmodel通常可以是我的應用程序中最靈活的部分,也是我最控制的部分。 UI控件和模型相比之下是相對靜態的,特別是如果控件是第三方的話。 UI控制的顯示選項甚至可以驅動視圖模型的設計。有或沒有數據網格會影響應用程序的呈現,並且視圖模型會相應地改變。 –