public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture) { var fxElement = values[0] as FrameworkElement; if (fxElement == null) { return(null); } // Default style is Inactive... var fxStyle = fxElement.FindResource("CairoTaskbarButtonInactiveStyle"); if (values[1] == null) { // Default - couldn't get window state. return(fxStyle); } ApplicationWindow.WindowState winState = ApplicationWindow.WindowState.Unknown; EnumUtility.TryCast <ApplicationWindow.WindowState>(values[1], out winState, ApplicationWindow.WindowState.Inactive); switch (winState) { case ApplicationWindow.WindowState.Active: fxStyle = fxElement.FindResource("CairoTaskbarButtonActiveStyle"); break; case ApplicationWindow.WindowState.Flashing: fxStyle = fxElement.FindResource("CairoTaskbarButtonFlashingStyle"); break; /*case ApplicationWindow.WindowState.Hidden: * fxStyle = fxElement.FindResource("CairoTaskbarButtonHiddenStyle"); * break;*/ } return(fxStyle); }