我正在制作一个可通过自定义"下一步"和"后退"按钮和命令(即不使用a NavigationWindow)导航的WPF应用程序.在一个屏幕上,我有一个ListBox必须支持多个选择(使用Extended模式).我有一个该屏幕的视图模型,并将所选项目存储为属性,因为它们需要维护.
但是,我知道SelectedItemsa 的属性ListBox是只读的.我一直在尝试使用此解决方案解决此问题,但我无法将其应用到我的实现中.我发现无法区分何时取消选择一个或多个元素以及何时在屏幕之间导航(NotifyCollectionChangedAction.Remove在两种情况下都会引发,因为从技术上讲,所有选定的项目在远离屏幕时都会被取消选择).我的导航命令位于一个单独的视图模型中,该模型管理每个屏幕的视图模型,因此我不能将任何与视图模型相关的实现与其中相关联ListBox.
我发现了其他一些不太优雅的解决方案,但这些解决方案似乎都没有强制实现视图模型和视图之间的双向绑定.
任何帮助将不胜感激.我可以提供一些我的源代码,如果它有助于理解我的问题.