File tree 2 files changed +25
-2
lines changed 2 files changed +25
-2
lines changed Original file line number Diff line number Diff line change @@ -27,6 +27,7 @@ import LabelModule = require("ui/label");
27
27
import stackLayoutModule = require( "ui/layouts/stack-layout" ) ;
28
28
import helper = require( "../helper" ) ;
29
29
import view = require( "ui/core/view" ) ;
30
+ import builder = require( "ui/builder" ) ;
30
31
31
32
export function addLabelToPage ( page : PageModule . Page , text ?: string ) {
32
33
var label = new LabelModule . Label ( ) ;
@@ -68,6 +69,15 @@ export function test_menuItem_inherit_bindingContext() {
68
69
}
69
70
}
70
71
72
+ export function test_menuItem_inherit_bindingContext_inXML ( ) {
73
+ var p = < PageModule . Page > builder . parse ( "<Page><Page.optionsMenu><MenuItem text=\"{{ myProp }} \" /></Page.optionsMenu></Page>" ) ;
74
+ p . bindingContext = { myProp : "success" } ;
75
+
76
+ var menuItem = p . optionsMenu . getItemAt ( 0 ) ;
77
+
78
+ TKUnit . assertEqual ( menuItem . text , "success" , "menuItem.text" ) ;
79
+ } ;
80
+
71
81
export function test_Setting_OptionsMenu_doesnt_thrown ( ) {
72
82
73
83
var page : PageModule . Page ;
@@ -392,4 +402,4 @@ export var test_cssShouldBeAppliedAfterChangeToAllNestedElements = function () {
392
402
finally {
393
403
helper . goBack ( ) ;
394
404
}
395
- }
405
+ }
Original file line number Diff line number Diff line change @@ -206,7 +206,20 @@ export class OptionsMenu implements dts.OptionsMenu {
206
206
}
207
207
208
208
public setItems ( items : Array < MenuItem > ) {
209
- this . _items = items ;
209
+ if ( this . _items === items ) {
210
+ return ;
211
+ }
212
+
213
+ // Remove all existing items
214
+ while ( this . _items . length > 0 ) {
215
+ this . removeItem ( this . _items [ this . _items . length - 1 ] ) ;
216
+ }
217
+
218
+ // Add new items
219
+ for ( var i = 0 ; i < items . length ; i ++ ) {
220
+ this . addItem ( items [ i ] ) ;
221
+ }
222
+
210
223
this . invalidate ( ) ;
211
224
}
212
225
You can’t perform that action at this time.
0 commit comments