2016-12-04 27 views
0

我想你如何設計一個自定義對話框跟隨棱鏡框架2視圖。棱鏡自定義對話框與2視圖(只讀視圖和編輯視圖) - WPF

所以,這個想法是:當用戶雙擊一個項目(聯繫人項目)時,會顯示一個彈出視圖(這是「只讀」視圖),用戶可以在其中閱讀聯繫人詳細信息,但無法編輯所有聯繫人信息(只能編輯聯繫人的一些屬性)。在這種形式下,有一個按鈕切換到「編輯」模式,然後「編輯」視圖顯示在相同的彈出窗口(我不想打開一個新窗口)。

在編輯視圖中,有兩個按鈕(一個用於保存更改,另一個用於取消交互)。保存或取消後,將再次顯示「只讀」視圖。

你有沒有這樣做過?

回答

1

如果兩個視圖的佈局是相同的,除了只出現在「編輯」模式的按鈕,那麼我會選擇實現一個單一的視圖,並使用視圖模型的一個屬性與適當的轉換器啓用/禁用所有控件中的編輯和一次性顯示「編輯模式」按鈕。通過這種方式,您可以通過擁有單一視圖來簡化維護,演變和測試。該屬性將由「make editable」按鈕觸發。

+0

我不喜歡這個選項100%因爲我想要以不同的方式顯示元素,再加上一些元素出現在只讀視圖中,但他們不在編輯視圖中。我想有兩種不同的看法 – chincheta73

0

如果這兩個視圖確實是必需的,那麼我會選擇帶有隱藏選項卡的TabControl,其中一個包含只讀視圖,另一個包含讀/寫視圖。編輯/完成按鈕(或者每個視圖中的一個或TabControl下面的一個)將控制要顯示的選項卡。 然後ViewModel將被分配給TabControl,通過繼承,這兩個視圖將被綁定到相同的地方,使得一方的所有修改在另一方(顯示時)自動可見。

請參閱here隱藏選項卡。