diff --git a/CrossPlatformModules.csproj b/CrossPlatformModules.csproj
index 31dde677d..7e4fe85c9 100644
--- a/CrossPlatformModules.csproj
+++ b/CrossPlatformModules.csproj
@@ -189,6 +189,9 @@
Designer
+
+ Designer
+
Designer
@@ -239,6 +242,7 @@
color.xml
+
html-view.xml
diff --git a/apps/ui-tests-app/css/white-space.ts b/apps/ui-tests-app/css/white-space.ts
new file mode 100644
index 000000000..468b70542
--- /dev/null
+++ b/apps/ui-tests-app/css/white-space.ts
@@ -0,0 +1,13 @@
+var obj;
+
+export function loaded(args) {
+ obj = args.object;
+}
+
+export function butonTap(args) {
+ if (obj.style.whiteSpace === "normal") {
+ obj.style.whiteSpace = "nowrap";
+ } else if (obj.style.whiteSpace === "nowrap") {
+ obj.style.whiteSpace = "normal";
+ }
+}
\ No newline at end of file
diff --git a/apps/ui-tests-app/css/white-space.xml b/apps/ui-tests-app/css/white-space.xml
new file mode 100644
index 000000000..d0c76b6ab
--- /dev/null
+++ b/apps/ui-tests-app/css/white-space.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/ui-tests-app/mainPage.ts b/apps/ui-tests-app/mainPage.ts
index 2e1785729..ea1fc5849 100644
--- a/apps/ui-tests-app/mainPage.ts
+++ b/apps/ui-tests-app/mainPage.ts
@@ -90,4 +90,6 @@ examples.set("webview", "web-view/web-view");
examples.set("webtest", "web-view/web-vew-test");
examples.set("decoration", "css/text-decoration");
+examples.set("whitespace", "css/white-space");
+
//VM.set("selected", "tabAll");
\ No newline at end of file
diff --git a/tsconfig.json b/tsconfig.json
index 84f94ffbd..f56083587 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -334,6 +334,7 @@
"apps/ui-tests-app/css/background.ts",
"apps/ui-tests-app/css/styles.ts",
"apps/ui-tests-app/css/text-decoration.ts",
+ "apps/ui-tests-app/css/white-space.ts",
"apps/ui-tests-app/dialogs/dialogs.ts",
"apps/ui-tests-app/dialogs/view-model.ts",
"apps/ui-tests-app/font/button.ts",
diff --git a/ui/button/button-common.ts b/ui/button/button-common.ts
index 1b9e0f04e..223ff6047 100644
--- a/ui/button/button-common.ts
+++ b/ui/button/button-common.ts
@@ -5,6 +5,7 @@ import proxy = require("ui/core/proxy");
import formattedString = require("text/formatted-string");
import observable = require("data/observable");
import weakEvents = require("ui/core/weak-event-listener");
+import enums = require("ui/enums");
var textProperty = new dependencyObservable.Property(
"text",
@@ -121,4 +122,11 @@ export class Button extends view.View implements definition.Button {
public _addChildFromBuilder(name: string, value: any): void {
formattedString.FormattedString.addFormattedStringToView(this, name, value);
}
-}
\ No newline at end of file
+}
+
+function onTextWrapPropertyChanged(data: dependencyObservable.PropertyChangeData) {
+ var v = data.object;
+ v.style.whiteSpace = data.newValue ? enums.WhiteSpace.normal : enums.WhiteSpace.nowrap;
+}
+
+(Button.textWrapProperty.metadata).onSetNativeValue = onTextWrapPropertyChanged;
\ No newline at end of file
diff --git a/ui/button/button.android.ts b/ui/button/button.android.ts
index e4aaee64c..163e1b04a 100644
--- a/ui/button/button.android.ts
+++ b/ui/button/button.android.ts
@@ -5,18 +5,6 @@ import proxy = require("ui/core/proxy");
global.moduleMerge(common, exports);
-function onTextWrapPropertyChanged(data: dependencyObservable.PropertyChangeData) {
- var btn =