我敢肯定,这是一个新手问题,但我找不到答案...
我有一个绑定到 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");
}
}