void clickOpen() { var selector = new BackgroundDrawable <DeloFileSelector>(new DeloFileSelector()) { RelativeSizeAxes = Axes.Both, Depth = -99, Background = Colors.Background }; selector.Child.CurrentFile.ValueChanged += e => Task.Run(() => { try { FullCanvas.Canvas.Image.Clear(); FullCanvas.Canvas.Image.AddLayer(SKBitmap.FromImage(SKImage.FromEncodedData(File.OpenWrite(e.NewValue.FullName)))); openedPath = e.NewValue.FullName; Schedule(() => Remove(selector)); } catch { } }); Schedule(() => Add(selector)); }
protected void DrawBackground(ref UiViewDrawParameters parameters) { float opacity = parameters.Opacity; if (opacity == 0) { return; } Color backgroundColor = BackgroundColor * opacity; if (backgroundColor.A > 0) { if (BackgroundDrawable != null) { BackgroundDrawable.Draw(parameters.DrawBatch, ScreenBounds, backgroundColor); } else { parameters.DrawBatch.DrawRectangle(ScreenBounds, backgroundColor); } } }