@@ -301,21 +301,37 @@ internal static Dictionary<string, bool> BuildPostGrabActionSnapshot(
301301
302302 private void CheckIfAnyPostActionsSelected ( )
303303 {
304- if ( NextStepDropDownButton . Flyout is not ContextMenu flyoutMenu || ! flyoutMenu . HasItems )
305- return ;
304+ bool hasCheckedAction = false ;
306305
307- foreach ( MenuItem item in GetActionablePostGrabMenuItems ( flyoutMenu ) )
306+ if ( NextStepDropDownButton . Flyout is ContextMenu flyoutMenu && flyoutMenu . HasItems )
308307 {
309- if ( item . IsChecked )
308+ foreach ( MenuItem item in GetActionablePostGrabMenuItems ( flyoutMenu ) )
310309 {
311- if ( FindResource ( "DarkTeal" ) is SolidColorBrush tealButtonStyle )
312- NextStepDropDownButton . Background = tealButtonStyle ;
313- return ;
310+ if ( item . IsChecked )
311+ {
312+ hasCheckedAction = true ;
313+ break ;
314+ }
314315 }
315316 }
316317
317- if ( FindResource ( "ControlFillColorDefaultBrush" ) is SolidColorBrush SymbolButtonStyle )
318- NextStepDropDownButton . Background = SymbolButtonStyle ;
318+ if ( hasCheckedAction )
319+ {
320+ if ( FindResource ( "DarkTeal" ) is SolidColorBrush tealButtonStyle )
321+ NextStepDropDownButton . Background = tealButtonStyle ;
322+ NextStepDropDownButton . Foreground = Brushes . White ;
323+ NextStepSymbolIcon . Foreground = Brushes . White ;
324+ }
325+ else
326+ {
327+ if ( FindResource ( "ControlFillColorDefaultBrush" ) is SolidColorBrush symbolButtonStyle )
328+ NextStepDropDownButton . Background = symbolButtonStyle ;
329+ if ( FindResource ( "TextFillColorPrimaryBrush" ) is SolidColorBrush textBrush )
330+ {
331+ NextStepDropDownButton . Foreground = textBrush ;
332+ NextStepSymbolIcon . Foreground = textBrush ;
333+ }
334+ }
319335 }
320336
321337 private static bool CheckIfCheckingOrUnchecking ( object ? sender )
@@ -535,6 +551,19 @@ private void FreezeMenuItem_Click(object? sender = null, RoutedEventArgs? e = nu
535551 WindowUtilities . FullscreenKeyDown ( Key . F , isActive ) ;
536552 }
537553
554+ private void NextStepDropDownButton_MouseEnter ( object sender , MouseEventArgs e )
555+ {
556+ // Background fill on hover comes from the SymbolDropDownButton style; only the
557+ // icon/chevron foreground needs to be forced white here to stay legible on it.
558+ NextStepDropDownButton . Foreground = Brushes . White ;
559+ NextStepSymbolIcon . Foreground = Brushes . White ;
560+ }
561+
562+ private void NextStepDropDownButton_MouseLeave ( object sender , MouseEventArgs e )
563+ {
564+ CheckIfAnyPostActionsSelected ( ) ;
565+ }
566+
538567 private async void FreezeUnfreeze ( bool Activate )
539568 {
540569 if ( FreezeMenuItem . IsChecked is true )
0 commit comments