private Controls.LayerFrame Image(ImageOverlaySettings settings, string text)
        {
            var control = Generate(settings, text, Colors.Brown);

            control.Width  = settings.ResizeWidth;
            control.Height = settings.ResizeHeight;

            control.Opacity = settings.Opacity / 100.0;

            settings.PropertyChanged += (s, e) =>
            {
                Dispatcher.Invoke(() =>
                {
                    control.Width   = settings.ResizeWidth;
                    control.Height  = settings.ResizeHeight;
                    control.Opacity = settings.Opacity / 100.0;
                });
            };

            control.PositionUpdated += rect =>
            {
                settings.ResizeWidth  = (int)rect.Width;
                settings.ResizeHeight = (int)rect.Height;
            };

            return(control);
        }
Exemple #2
0
        public ImageOverlayReactor(ImageOverlaySettings Settings)
        {
            Width = Settings
                    .ToReactivePropertyAsSynchronized(M => M.ResizeWidth);

            Height = Settings
                     .ToReactivePropertyAsSynchronized(M => M.ResizeHeight);

            Opacity = Settings
                      .ObserveProperty(M => M.Opacity)
                      .Select(M => M / 100.0)
                      .ToReadOnlyReactivePropertySlim();
        }