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);
}
}
}
}
}
}