Microsoft.Phone.Controls.ListPicker.OnFrameNavigated C# (CSharp) Method

OnFrameNavigated() private method

private OnFrameNavigated ( object sender, System.Windows.Navigation.NavigationEventArgs e ) : void
sender object
e System.Windows.Navigation.NavigationEventArgs
return void
        private void OnFrameNavigated(object sender, NavigationEventArgs e)
        {
            if (e.Content == _frameContentWhenOpened)
            {
                // Navigation to original page; close the picker page
                ListPickerMode = ListPickerMode.Normal;
            }
            else if (null == _listPickerPage && _hasPickerPageOpen)
            {
                _hasPickerPageOpen = false;
                _listPickerPage = e.Content as ListPickerPage;
                if (null != _listPickerPage)
                {
                    // Set up the list picker page with the necesarry fields.
                    if (null != FullModeHeader)
                    {
                        _listPickerPage.HeaderText = (string)FullModeHeader;
                    }
                    else
                    {
                        _listPickerPage.HeaderText = (string)Header;
                    }

                    _listPickerPage.FullModeItemTemplate = FullModeItemTemplate;

                    _listPickerPage.Items.Clear();
                    if (null != Items)
                    {
                        foreach (var element in Items)
                        {
                            _listPickerPage.Items.Add(element);
                        }
                    }

                    _listPickerPage.SelectionMode = SelectionMode;

                    if (SelectionMode == SelectionMode.Single)
                    {
                        _listPickerPage.SelectedItem = SelectedItem;
                    }
                    else
                    {
                        _listPickerPage.SelectedItems.Clear();
                        if (null != SelectedItems)
                        {
                            foreach (var element in SelectedItems)
                            {
                                _listPickerPage.SelectedItems.Add(element);
                            }
                        }
                    }
                }
            }
        }