Minor
4.7.1
NotPlanned
Starting with the .NET Framework 4.7.1, a xref:System.Windows.Controls.Primitives.Selector always updates the value of its xref:System.Windows.Controls.Primitives.Selector.SelectedValue%2A property before raising the xref:System.Windows.Controls.Primitives.Selector.SelectionChanged event, when its selection changes. This makes the SelectedValue property consistent with the other selection properties (xref:System.Windows.Controls.Primitives.Selector.SelectedItem%2A and xref:System.Windows.Controls.Primitives.Selector.SelectedIndex%2A), which are updated before raising the event.
In the .NET Framework 4.7 and earlier versions, the update to SelectedValue happened before the event in most cases, but it happened after the event if the selection change was caused by changing the xref:System.Windows.Controls.Primitives.Selector.SelectedValue%2A property.
- Quirked
- Build-time break
Apps that target the .NET Framework 4.7.1 or later can opt out of this change and use legacy behavior
by adding the following to the <runtime>
section of the application configuration file:
<runtime>
<AppContextSwitchOverrides
value="Switch.System.Windows.Controls.TabControl.SelectionPropertiesCanLagBehindSelectionChangedEvent=true" />
</runtime>
Apps that target the .NET Framework 4.7 or earlier but are running on the .NET Framework 4.7.1 or later can enable the new behavior by adding the following line to the <runtime>
section of the application .configuration file:
<runtime>
<AppContextSwitchOverrides value="Switch.System.Windows.Controls.TabControl.SelectionPropertiesCanLagBehindSelectionChangedEvent=false" />
</runtime>
P:System.Windows.Controls.TabControl.SelectedContent
E:System.Windows.Controls.Primitives.Selector.SelectionChanged
Windows Presentation Foundation (WPF)