2016-12-04 15 views
0

2つのビューを持つPrismフレームワークに続いてカスタムダイアログをデザインする方法についてご意見をお聞かせください。2つのビュー(ReadOnlyビューとEditビュー)を持つPrismカスタムダイアログ - WPF

考えられるのは、ユーザーがアイテム(連絡先アイテム)をダブルクリックすると、ユーザーが連絡先の詳細を読むことができるが、それらのすべてを編集することができないポップアップビューが表示されます(これは「読み取り専用」ビューです) (連絡先のいくつかのプロパティのみを編集できます)。このフォームでは、「編集」モードに切り替わり、「編集」ビューが同じポップアップウィンドウに表示されます(私は新しいウィンドウを開きたくありません)。

編集ビューには、2つのボタンがあります(変更を保存する場合と、インタラクションをキャンセルする場合)。保存または取り消し後、「読み取り専用」ビューが再度表示されます。

これまでこれを実行しましたか?

答えて

1

「編集」モードでのみ表示されるボタンを除いて、2つのビューのレイアウトが同じ場合は、単一のビューを実装し、ビューモデルの1つのプロパティを使用して適切なコンバータを有効にします/すべてのコントロールの編集を無効にし、「編集モード」ボタンを一度に表示することができます。このようにして、保守、進化、テストを容易にすることができます。このプロパティは、「編集可能にする」ボタンによってトリガされます。

+0

このオプションが好きではありません。要素を異なる方法で表示したいのですが、読み取り専用ビューに表示される要素がいくつかありますが、編集ビューには表示されません。私は2つの異なる意見を持っていたいと思います – chincheta73

0

2つのビューが本当に必要な場合は、非表示のタブ付きのTabControlを使用します.1つは読み取り専用ビュー、もう1つは読み取り/書き込みビューです。編集/完了ボタンは、各ビュー内またはTabControlの下のいずれかにあり、表示するタブを制御します。 次に、ViewModelがTabControlに割り当てられ、継承によって両方のビューが同じにバインドされ、一方の側のすべての変更が他方の側で自動的に表示されます(表示されるとき)。

タブを非表示にする場合は、hereを参照してください。

関連する問題