/// <summary> /// Sets elements visibility based on actual result status. /// </summary> /// <param name="value">Result status of result.</param> /// <param name="targetType">The type of the binding target property.</param> /// <param name="parameter">The converter parameter to use.</param> /// <param name="culture">The culture to use in the converter.</param> /// <returns>Returns Visibility.Visible and Visibility.Collapsed for various items in context menu based on current result status.</returns> public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { ResultBasicInfo.ResultStatus result = (ResultBasicInfo.ResultStatus)value; switch (parameter.ToString()) { case "Invert": switch (result) { case ResultBasicInfo.ResultStatus.NotReadyToSend: return(Visibility.Collapsed); case ResultBasicInfo.ResultStatus.Sent: return(Visibility.Visible); case ResultBasicInfo.ResultStatus.ReadyToSend: return(Visibility.Collapsed); } break; default: switch (result) { case ResultBasicInfo.ResultStatus.NotReadyToSend: return(Visibility.Visible); case ResultBasicInfo.ResultStatus.Sent: return(Visibility.Collapsed); case ResultBasicInfo.ResultStatus.ReadyToSend: return(Visibility.Visible); } break; } return(null); }
/// <summary> /// Enables/disables elements in context menu based on actual result status. /// </summary> /// <param name="value">Result status of result.</param> /// <param name="targetType">The type of the binding target property.</param> /// <param name="parameter">The converter parameter to use.</param> /// <param name="culture">The culture to use in the converter.</param> /// <returns>Returns TRUE or FALSE for various items in context menu based on current result status.</returns> public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { ResultBasicInfo.ResultStatus result = (ResultBasicInfo.ResultStatus)value; switch ((string)parameter) { case "ToSend": switch (result) { case ResultBasicInfo.ResultStatus.NotReadyToSend: return(false); case ResultBasicInfo.ResultStatus.Sent: return(false); case ResultBasicInfo.ResultStatus.ReadyToSend: return(true); } break; case "ToEdit": switch (result) { case ResultBasicInfo.ResultStatus.NotReadyToSend: return(true); case ResultBasicInfo.ResultStatus.Sent: return(false); case ResultBasicInfo.ResultStatus.ReadyToSend: return(true); } break; case "ToImage": switch (result) { case ResultBasicInfo.ResultStatus.NotReadyToSend: return(new ImageBrush() { ImageSource = new BitmapImage(new Uri(@"/ndgwp7;component/View/icons/NotReadyToSendIcon.png", UriKind.Relative)), Stretch = Stretch.Fill }); case ResultBasicInfo.ResultStatus.Sent: return(new ImageBrush() { ImageSource = new BitmapImage(new Uri(@"/ndgwp7;component/View/icons/SentIcon.png", UriKind.Relative)), Stretch = Stretch.Fill }); case ResultBasicInfo.ResultStatus.ReadyToSend: return(new ImageBrush() { ImageSource = new BitmapImage(new Uri(@"/ndgwp7;component/View/icons/ReadyToSendIcon.png", UriKind.Relative)), Stretch = Stretch.Fill }); } break; } return(null); }