[問題] WPF DataGrid 自定義與繼承的問題
最近遇到公司的需求需要繼承元件
雖然這樣的設計邏輯似在網路爬文但目前沒有找到比較好的解法。小弟感覺測試方面與耦合性都有很明顯的缺點。使用起來繼承性很差,有用了Dependency Property試著去寫,但仍然遇到了一些問題
例子一:
鳥:會飛的動物
台灣鳥:鳥
美國鳥:鳥
歐洲鳥:鳥
韓國鳥:鳥
.
.
.
需求:假設發生了基因突變,鳥都變成6隻腳,讓所有國家的鳥都有辦法繼承,因為國家很多...所以要找一個方式不要去每個國家改。
實際的例子:假設訂單模組下的
有好幾二三十幾個表單會同時使用同一組資源底下的DataGrid。該DataGrid的Column有金額、單價、數量等約末二十、三十欄位。每個欄位都預先寫好了大部分共同的行為、操作。
需求:
表單一和大多數表單:的情況下是單價*數量=金額
表單二:是單價*數量*0.9(加權)=金額
表單三:單價*數量*0.8(加權)=金額
作
以上是一種行為的例子,比較像是overwrite的概念
問題:
假設今天欲在DataGrid上加入一個新的欄位: 「如產品名稱」
1.該Cell點擊可以開啟一個產品詳情視窗(open new window)
2.輸入完「產品編號」後自動帶出「產品名稱」以及對應其他欄位的預設值,例如「倉庫欄位」為預設倉
包括許多複雜的業務邏輯已經寫好了。有沒有方式讓每一個表單都有辦法去套用(繼承)這個?因而不去改變每一個View和Viewmodel?
請問上述情況如何保持覆寫的彈性?在wpf上有沒有什麼樣的做法可以更好的解決這樣子的需求?
先感謝大神們。
-----
Sent from JPTT on my iPhone
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.216.100.61 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1578356448.A.7E0.html
→
01/07 08:35,
5年前
, 1F
01/07 08:35, 1F
謝謝你的建議,大多數看到的方式也是這樣解決的,我會朝這個方向去寫
推
01/07 18:33,
5年前
, 2F
01/07 18:33, 2F
我瞭解這種設計模式,但也有一種模式是減少重複code的一派。 這種自製元件以及重複使用看起來似乎無解,謝謝你的回覆
如果遇到表單使用同一個元件很兇的情況下也必須取捨這種模式
推
01/07 18:38,
5年前
, 3F
01/07 18:38, 3F
→
01/07 18:38,
5年前
, 4F
01/07 18:38, 4F
※ 編輯: opdtk (49.216.100.61 臺灣), 01/08/2020 00:29:14
※ 編輯: opdtk (49.216.100.61 臺灣), 01/08/2020 00:35:53
※ 編輯: opdtk (49.216.100.61 臺灣), 01/08/2020 00:40:00
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章
10
18