private void setState(DrivePreferencesState desiredState) { if (desiredState == DrivePreferencesState.SETTINGS) { Dispatcher.Invoke(()=>settingsItems.Visibility = Visibility.Visible); Dispatcher.Invoke(()=>liveItems.Visibility = Visibility.Hidden); } else if (desiredState == DrivePreferencesState.LIVE) { Dispatcher.Invoke(()=>settingsItems.Visibility = Visibility.Hidden); Dispatcher.Invoke(()=>liveItems.Visibility = Visibility.Visible); } }
private void stateButton_Click(object sender, RoutedEventArgs e) { Dispatcher.Invoke(()=>stateButton.MoveFocus(new TraversalRequest(new FocusNavigationDirection()))); //Move focus from the button so it doesnt keep blinking... currentState ^= (DrivePreferencesState)1; //Toggle the state value. Alternatively: _value = (SomeEnum)(((int)_value + 1) % 2); Dispatcher.Invoke(()=>stateButton.Content = currentState); setState(currentState); }