Skip to content

Latest commit

 

History

History
58 lines (43 loc) · 2.11 KB

wpf-selector-selectionchanged-and-selectedvalue.md

File metadata and controls

58 lines (43 loc) · 2.11 KB

Selector SelectionChanged event and SelectedValue property

Scope

Minor

Version Introduced

4.7.1

Source Analyzer Status

NotPlanned

Change Description

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

Recommended Action

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>

Affected APIs

  • P:System.Windows.Controls.TabControl.SelectedContent
  • E:System.Windows.Controls.Primitives.Selector.SelectionChanged

Category

Windows Presentation Foundation (WPF)