MVVM とユーザー コントロール イベントと少し混乱しました。
ビューにユーザー コントロールがあります。読み取りと編集の 2 つのモードがあります。(テキストモード)
<Grid
x:Name="LayoutRoot"
Background="Transparent">
<controls:MyUserControl
Mode="{Binding Path=TextMode,Mode=TwoWay}"
Text="{Binding Path=ReportText,Mode=TwoWay}"
</controls:MyUserControl>
</Grid>
TextMode が 'Edit' に変更されたら、電話アプリケーション バーに '保存' ボタンを追加し、[保存] ボタンをクリックすると、ユーザー コントロールからテキストを保存したいと考えています。また、「読み取り」ビューの保存ボタンを無効にしたいと考えています。(つまり、TextMode が「Read」の場合)
これを行う正しいMVVMの方法は何ですか? 私は2つの方法を考えました:
1) ユーザー コントロールで ModeChanged プロパティを公開してビューに反映し、[保存] ボタンを追加することを考えていました。(しかし、それは MVVM のやり方に反しますか。つまり、コード ビハインドにコードがあるのでしょうか?)。
2) 依存関係プロパティ自体の propertychanged の処理と、ユーザー コントロールからの保存ボタンの追加。(アプリケーションロジックがユーザーコントロールに混在しているため、正しくないようです)
これにビューモデルを含めるにはどうすればよいですか?
MVVMに従うような操作を行う良い方法は何ですか。