かなり初心者の質問だと思いますが、答えを見つけることができませんでした...
ViewModel プロパティにバインドされたコントロール (この場合はコンボ ボックス) があります。
<ComboBox
x:Name="methodTypeCmb"
Grid.Row="0" Grid.Column="2"
ItemsSource="{Binding Path=AllNames, Mode=OneTime}"
SelectedItem="{Binding Path=Name, ValidatesOnDataErrors=True, Mode=TwoWay}"
Validation.ErrorTemplate="{x:Null}"
/>
私の ViewModel では、このプロパティが変更されたときに、ユーザーに変更の確認を求めたいと考えています。
ユーザーが「いいえ」をクリックした場合、変更をキャンセルしたい。
ただし、変更がキャンセルされたときにビューが以前の値に戻らないため、何か間違ったことをしているに違いありません。
ViewModel のプロパティ:
public string Name
{
get { return m_model.Name; }
set
{
if (MessageBox.Show("Are you absolutely sure?","Change ",MessageBoxButton.YesNo) == MessageBoxResult.Yes)
{
// change name
}
base.OnPropertyChanged("Name");
}
}