public override void Execute(Image parameter) { if (!CanExecute(parameter)) { throw new CannotExecuteCommandException(GetType()); } var bitmap = _imageConverter.ConvertToBitmapSource(parameter); OnImageUpdate?.Invoke(bitmap); }
public void Start() { bool displayImage = false; Dictionary <string, string> request = new Dictionary <string, string>() { { "request", "posture_status" } }; JToken response = Client.GetResponse(request.ToJson()); string balloonTipText = ""; if (response["answer"].ToString() == "bad") { balloonTipText = "Your posture is not good" + Environment.NewLine + "Click here to fix it"; displayImage = true; } else if (response["answer"].ToString() == "image_error" || response["answer"].ToString() == "camera_error") { balloonTipText = "FixSit can't evaluate your posture"; } else { balloonTipText = "Your posture is perfect!"; } System.Windows.Application.Current.Dispatcher.Invoke(() => { var notification = new System.Windows.Forms.NotifyIcon() { Visible = true, Icon = SystemIcons.Information, // BalloonTipIcon = System.Windows.Forms.ToolTipIcon.Info, BalloonTipTitle = Resources.ApplicationName, BalloonTipText = balloonTipText, }; if (displayImage) { notification.BalloonTipClicked += (sender, e) => { Image modelImage = LoadImage(response["image"].ToString()); OnImageUpdate?.Invoke(modelImage, response["description"].ToString()); //DO SOMETHING }; } notification.ShowBalloonTip(5000); }); OnFinish?.Invoke(this); //REMOVE THIS ! }