组合框MVVM silverlight消息框

| 我正在使用Silverlight MVVM模型。面临一个小问题: 有一个组合框显示两个值(默认情况下,其中一个是选中的),当用户更改组合框的值时,将显示一个消息框,要求用户确认,如果“是”,则该值将为更改并且如果\“ no \”值保持不变,则消息框将保留在ViewModel中,并在选定Item的set属性上触发。我面临的问题是,当用户选择否(或取消)时,即使什么也没有发生(根据功能),但组合框不会返回到原始位置,而是保持在选定的位置(即,组合框保持在展开位置) 。 为什么它会保持在扩展位置,以及如何将其置于原始位置? 这是代码的一部分,希望对理解有所帮助:
MessageBoxResult msg = MessageBox.Show(\"Really delete?\",\"Confirm delete\", MessageBoxButtons.OKCancel)

if(msg == \"OK\")
{
   Do this;
}
else
{
Do nothing;
}
现在,组合框中有两个值,分别为\'A \'和\\ B \'。当用户更改该值时,将弹出该弹出窗口,即如果默认值是A并将其更改为B,则弹出窗口将询问您是否要继续,当用户单击“确定”时一切正常,但是当用户单击“取消”时,尽管在应用程序中什么也没有发生,但用户界面中的值已更改,即用户说了“取消”,将值从A更改为B,然后B也作为所选项目显示在组合框中。     
已邀请:
        您需要将组合框的SelectedItem值重置为原始值。 原因是ComboBox中的值绑定发生在SelectedItem更改事件之前。这意味着即使在显示消息之前,应用程序也已更改了combox的值。如果需要组合框显示原始值,则需要在代码中将其重置。     

要回复问题请先登录注册