我正在寻找一种方法来取消CurrentChanging事件,具体取决于所单击的项目。 在我的应用程序中,我使用ICollectionView来保存我的视图模型列表,这些视图模型在tabcontrol中呈现为tabitems。 对于特定的视图模型,我需要在激活viewmodel之前进行一些属性检查。为了做到这一点,我现在需要特定的viewmodel将成为下一个当前项。根据属性检查的结果,应允许或取消当前项的更改(仅适用于特定的视图模型)。 我不想对所有其他视图模型进行属性检查。
有没有办法在设置之前有权访问下一个当前项?
编辑:
另一个想法:在currentchanged事件中,我进行属性检查,并根据其结果,向父视图模型(包含视图模型列表)发送消息,以触发它将当前移动到第一个。我希望这会引发一个新的当前变化事件,但事实并非如此。当前项始终是在第一个当前更改的事件之前选择的视图模型。
那里发生了什么?