In part of my program I have a
Collection.OneActive, and I have a few screens in the collection that I can bring up with buttons that call ActivateItem. If I call
DeactivateItem(ActiveItem), the item's
OnDeactivate is called, but
ActiveItem is not changed (and so it is still displayed in the view).
Looking at the code it seems like
DeactivateItem's only effect is to set the items
IsActive flag to false, so you end up with
ActiveItem.IsActive == false (but the conductor has
conductor.IsActive == true, and the view is unchanged).
I'm not sure if this is the intended behavior and my understanding is incorrect, but I expected that deactivating the current
ActiveItem would clear or switch
ActiveItem. In other words, I expected it to behave like:
conductor.ActiveItem = null or
conductor.ActivateItem(null), which deactivates and switches the current
ActiveItem (thus removing it from the view).