diff --git a/ui/styling/style.ts b/ui/styling/style.ts index 78743a2cf..40f82fde1 100644 --- a/ui/styling/style.ts +++ b/ui/styling/style.ts @@ -9,6 +9,7 @@ import stylers = require("ui/styling/stylers"); import styleProperty = require("ui/styling/style-property"); import converters = require("ui/styling/converters"); import enums = require("ui/enums"); +import imageSource = require("image-source"); // key is the property id and value is Dictionary; var _registeredHandlers = {}; @@ -34,6 +35,13 @@ export class Style extends observable.DependencyObservable implements styling.St this._setValue(backgroundColorProperty, value, observable.ValueSource.Local); } + get backgroundImage(): string { + return this._getValue(backgroundImageProperty); + } + set backgroundImage(value: string) { + this._setValue(backgroundImageProperty, value, observable.ValueSource.Local); + } + get fontSize(): number { return this._getValue(fontSizeProperty); } @@ -279,9 +287,9 @@ export class Style extends observable.DependencyObservable implements styling.St } } -export function registerHandler(property: dependencyObservable.Property, - handler: styling.stylers.StylePropertyChangedHandler, - className?: string) { +export function registerHandler(property: dependencyObservable.Property, + handler: styling.stylers.StylePropertyChangedHandler, + className?: string) { var realClassName = className ? className : "default"; if (_registeredHandlers.hasOwnProperty(property.id + "")) { _registeredHandlers[property.id][realClassName] = handler; @@ -332,6 +340,25 @@ export var colorProperty = new styleProperty.Property("color", "color", new observable.PropertyMetadata(undefined, observable.PropertyMetadataSettings.Inheritable, undefined, undefined, color.Color.equals), converters.colorConverter); +export var backgroundImageProperty = new styleProperty.Property("backgroundImage", "background-image", + new observable.PropertyMetadata(undefined, observable.PropertyMetadataSettings.None, onBackgroundImagePropertyChanged)); + +function onBackgroundImagePropertyChanged(data: observable.PropertyChangeData) { + var style =