public override void OnInit(EventArgs e) { ListCommandEventHandler listCommandEventHandler; // Create secondary child controls for rendering secondary UI. // Note that their ViewState is disabled because they are used // for rendering only. //--------------------------------------------------------------- _selectList = new SelectionList(); _selectList.Visible = false; _selectList.EnableViewState = false; Control.Controls.Add(_selectList); _textBox = new TextBox(); _textBox.Visible = false; _textBox.EnableViewState = false; Control.Controls.Add(_textBox); // Below are initialization of several list controls. A note is // that here the usage of DataMember is solely for remembering // how many items a particular list control is bounded to. The // property is not used as originally designed. //--------------------------------------------------------------- _optionList = new List(); _optionList.DataMember = "5"; listCommandEventHandler = new ListCommandEventHandler(this.OptionListEventHandler); InitList(_optionList, listCommandEventHandler); // Use MobileCapabilities to check screen size and determine how // many months should be displayed for different devices. _monthsToDisplay = MonthsToDisplay(Device.ScreenCharactersHeight); // Create the list of months, including [Next] and [Prev] links _monthList = new List(); _monthList.DataMember = Convert.ToString(_monthsToDisplay + 2); listCommandEventHandler = new ListCommandEventHandler(this.MonthListEventHandler); InitList(_monthList, listCommandEventHandler); _weekList = new List(); _weekList.DataMember = "6"; listCommandEventHandler = new ListCommandEventHandler(this.WeekListEventHandler); InitList(_weekList, listCommandEventHandler); _dayList = new List(); _dayList.DataMember = "7"; listCommandEventHandler = new ListCommandEventHandler(this.DayListEventHandler); InitList(_dayList, listCommandEventHandler); // Initialize the VisibleDate which will be used to keep track // the ongoing selection of year, month and day from multiple // secondary UI screens. If the page is loaded for the first // time, it doesn't need to be initialized (since it is not used // yet) so no unnecessary viewstate value will be generated. if (Page.IsPostBack && Control.VisibleDate == DateTime.MinValue) { Control.VisibleDate = DateTime.Today; } }
// A helper function to initialize and add a child list control private void InitList(List list, ListCommandEventHandler eventHandler) { list.Visible = false; list.ItemCommand += eventHandler; list.EnableViewState = false; Control.Controls.Add(list); }
/// <include file='doc\List.uex' path='docs/doc[@for="List.OnItemCommand"]/*' /> protected virtual void OnItemCommand(ListCommandEventArgs e) { ListCommandEventHandler onItemCommandHandler = (ListCommandEventHandler)Events[EventItemCommand]; if (onItemCommandHandler != null) { onItemCommandHandler(this, e); } }
/// <include file='doc\ChtmlCalendarAdapter.uex' path='docs/doc[@for="ChtmlCalendarAdapter.OnInit"]/*' /> public override void OnInit(EventArgs e) { ListCommandEventHandler listCommandEventHandler; // Create secondary child controls for rendering secondary UI. // Note that their ViewState is disabled because they are used // for rendering only. //--------------------------------------------------------------- _selectList = new SelectionList(); _selectList.Visible = false; _selectList.EnableViewState = false; Control.Controls.Add(_selectList); _textBox = new TextBox(); _textBox.Visible = false; _textBox.EnableViewState = false; EventHandler eventHandler = new EventHandler(this.TextBoxEventHandler); _textBox.TextChanged += eventHandler; Control.Controls.Add(_textBox); _command = new Command(); _command.Visible = false; _command.EnableViewState = false; Control.Controls.Add(_command); // Below are initialization of several list controls. A note is // that here the usage of DataMember is solely for remembering // how many items a particular list control is bounded to. The // property is not used as originally designed. //--------------------------------------------------------------- _optionList = new List(); _optionList.DataMember = "5"; listCommandEventHandler = new ListCommandEventHandler(this.OptionListEventHandler); InitList(_optionList, listCommandEventHandler); // Use MobileCapabilities to check screen size and determine how // many months should be displayed for different devices. _monthsToDisplay = MonthsToDisplay(Device.ScreenCharactersHeight); // Create the list of months, including [Next] and [Prev] links _monthList = new List(); _monthList.DataMember = Convert.ToString(_monthsToDisplay + 2, CultureInfo.InvariantCulture); listCommandEventHandler = new ListCommandEventHandler(this.MonthListEventHandler); InitList(_monthList, listCommandEventHandler); _weekList = new List(); _weekList.DataMember = "6"; listCommandEventHandler = new ListCommandEventHandler(this.WeekListEventHandler); InitList(_weekList, listCommandEventHandler); _dayList = new List(); _dayList.DataMember = "7"; listCommandEventHandler = new ListCommandEventHandler(this.DayListEventHandler); InitList(_dayList, listCommandEventHandler); // Initialize the VisibleDate which will be used to keep track // the ongoing selection of year, month and day from multiple // secondary UI screens. If the page is loaded for the first // time, it doesn't need to be initialized (since it is not used // yet) so no unnecessary viewstate value will be generated. if (Page.IsPostBack && Control.VisibleDate == DateTime.MinValue) { Control.VisibleDate = DateTime.Today; } }