Copy & Paste the default style from here and change SelectedBackground to the color that you wanted.
Some tips here:
1. If memory has PropertyChangedHandler left, make sure the list does not have any item.
2. Call Page.Bindings.StopTracking() in Page_Unloaded event
3. If you use x:Bind with MvvmLight, and using RelayCommand, you need to set RelayCommand enity to null in Page_Unloaded.
4. For checking the page is completely released, use the launch mouse recorder to open page and back multiple times. It is important to ensure every PageBack&GC cleared all no used memories.
Don’t use Bindings.StopTracking()! When switch pages quickly, some xaml components would not be released!
The demo code like the follow below:
<AdaptiveTrigger MinWindowWidth="720" />
<Setter Target="Text.(Grid.ColumnSpan)" Value="3" />
<Setter Target="Text.(RelativePanel.Below)" Value="Image" />
So just add the parentheses around the attached property and it would be worked fine on StateTriggers.