Exemple #1
0
        private static IDisposable AssignAndObserveSolidColorBrush(SolidColorBrush brush, Compositor compositor, BrushSetterHandler brushSetter)
        {
            var disposables = new CompositeDisposable();

            var compositionBrush = compositor.CreateColorBrush(brush.ColorWithOpacity);

            brush.RegisterDisposablePropertyChangedCallback(
                SolidColorBrush.ColorProperty,
                (s, colorArg) => compositionBrush.Color = brush.ColorWithOpacity
                )
            .DisposeWith(disposables);

            brush.RegisterDisposablePropertyChangedCallback(
                SolidColorBrush.OpacityProperty,
                (s, colorArg) => compositionBrush.Color = brush.ColorWithOpacity
                )
            .DisposeWith(disposables);

            brushSetter(compositionBrush);

            return(disposables);
        }