diff --git a/apps/tests/ui/action-bar/action-bar-tests-common.ts b/apps/tests/ui/action-bar/action-bar-tests-common.ts index 3bf251183..1b7e44066 100644 --- a/apps/tests/ui/action-bar/action-bar-tests-common.ts +++ b/apps/tests/ui/action-bar/action-bar-tests-common.ts @@ -186,6 +186,17 @@ export function test_actionItem_inherit_bindingContext_inXML() { TKUnit.assertEqual(actionItem.text, "success", "actionItem.text"); }; +export function test_actionItem_page_property_inXML() { + var p = builder.parse( + " " + + "" + + " "); + + var actionItem = p.actionBar.actionItems.getItemAt(0); + + TKUnit.assertEqual(actionItem.page, p, "actionItem.page"); +}; + export function test_navigationButton_inherit_bindingContext_inXML() { var p = builder.parse( " " + diff --git a/ui/action-bar/action-bar-common.ts b/ui/action-bar/action-bar-common.ts index 3c1c7cfa8..e6994de25 100644 --- a/ui/action-bar/action-bar-common.ts +++ b/ui/action-bar/action-bar-common.ts @@ -297,6 +297,10 @@ export class ActionItem extends bindable.Bindable implements dts.ActionItem { } } + get page(): pages.Page { + return this.actionBar ? this.actionBar.page : undefined; + } + public _raiseTap() { this._emit(ActionItem.tapEvent); } diff --git a/ui/action-bar/action-bar.d.ts b/ui/action-bar/action-bar.d.ts index 88cc7ab2b..208267b61 100644 --- a/ui/action-bar/action-bar.d.ts +++ b/ui/action-bar/action-bar.d.ts @@ -128,6 +128,11 @@ declare module "ui/action-bar" { */ actionBar: ActionBar; + /** + * Gets the page that contains the action item. + */ + page: pages.Page; + /** * A basic method signature to hook an event listener (shortcut alias to the addEventListener method). * @param eventNames - String corresponding to events (e.g. "propertyChange"). Optionally could be used more events separated by `,` (e.g. "propertyChange", "change").