windows phone 7中的列表框项
本文关键字:列表 phone windows | 更新日期: 2023-09-27 18:03:33
我试图在两个页面之间导航
对于视图页,有一个列表框,我选择一个项目,它将导航到"详细信息页"。
当我按手机的后退键时,它将我从"详细信息页面"导航到"查看页面"。
但是"查看页面"的列表框显示的是选中的项目。
如何刷新"查看页面",使列表框不显示任何已选中的内容
手机"详情页"我的键返回键代码:
private void PhoneApplicationPage_BackKeyPress(object sender,
System.ComponentModel.CancelEventArgs e)
{
string selectedFolderName = selectedFolderName2;
NavigationService.Navigate(
new Uri(
"/DisplaySchedule.xaml?=selectedFolderName2" + selectedFolderName,
UriKind.Relative));
}
我的导航页面代码"viewPage:
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
base.OnNavigatedTo(e);
selectedFolderName = "";
if (NavigationContext.QueryString.TryGetValue("selectedFolderName", out selectedFolderName))
selectedFolderName1 = selectedFolderName;
IsolatedStorageFile myStore = IsolatedStorageFile.GetUserStoreForApplication();
//For time
try
{
StreamReader readFileTime = new StreamReader(new IsolatedStorageFileStream(selectedFolderName1 + "''time.Schedule", FileMode.Open, myStore));
//For title
StreamReader readFileTitle = new StreamReader(new IsolatedStorageFileStream(selectedFolderName1 + "''title.Schedule", FileMode.Open, myStore));
//For category
StreamReader readFileCategory = new StreamReader(new IsolatedStorageFileStream(selectedFolderName1 + "''category.Schedule", FileMode.Open, myStore));
String timeText = readFileTime.ReadLine();
timeSplit = timeText.Split(new char[] { '^' });
String titleText = readFileTitle.ReadLine();
titleSplit = titleText.Split(new char[] { '^' });
String categoryText = readFileCategory.ReadLine();
categorySplit = categoryText.Split(new char[] { '^' });
}
catch (Exception)
{
}
//Define grid column, size
Grid schedule = new Grid();
if (scheduleListBox.Items.Count == 0)
{
foreach (var time in timeSplit)
{
timeList = time;
//Column 1 to hold the time of the schedule
ColumnDefinition scheduleTimeColumn = new ColumnDefinition();
GridLength timeGrid = new GridLength(110);
scheduleTimeColumn.Width = timeGrid;
schedule.ColumnDefinitions.Add(scheduleTimeColumn);
//Text block that show the time of the schedule
TextBlock timeTxtBlock = new TextBlock();
timeTxtBlock.Text = time;
//Set the alarm label text block properties - margin, fontsize
timeTxtBlock.FontSize = 28;
timeTxtBlock.Margin = new Thickness(0, 20, 0, 0);
//Set the column that will hold the time of the schedule
Grid.SetColumn(timeTxtBlock, 0);
schedule.Children.Add(timeTxtBlock);
}
foreach (var title in titleSplit)
{
titleList = title;
//Column 2 to hold the title of the schedule
ColumnDefinition scheduleTitleColumn = new ColumnDefinition();
GridLength titleGrid = new GridLength(500);
scheduleTitleColumn.Width = titleGrid;
schedule.ColumnDefinitions.Add(scheduleTitleColumn);
//Text block that show the title of the schedule
TextBlock titleTxtBlock = new TextBlock();
if (title.Length > 10)
{
string strTitle = title.Substring(0, 10) + "....";
titleTxtBlock.Text = strTitle;
}
else
{
titleTxtBlock.Text = title;
}
//Set the alarm label text block properties - margin, fontsize
titleTxtBlock.FontSize = 28;
titleTxtBlock.Margin = new Thickness(0, 20, 0, 0);
//Set the column that will hold the title of the schedule
Grid.SetColumn(titleTxtBlock, 1);
schedule.Children.Add(titleTxtBlock);
}
foreach (var category in categorySplit)
{
categoryList = category;
//Column 3 to hold the image category of the schedule
ColumnDefinition categoryImageColumn = new ColumnDefinition();
GridLength catImgnGrid = new GridLength(70);
categoryImageColumn.Width = catImgnGrid;
schedule.ColumnDefinitions.Add(categoryImageColumn);
TextBlock categoryTxtBlock = new TextBlock();
categoryTxtBlock.Text = category;
//set the category image and its properties - margin, width, height, name, background, font size
Image categoryImage = new Image();
categoryImage.Margin = new Thickness(-50, 15, 0, 0);
categoryImage.Width = 50;
categoryImage.Height = 50;
if (category == "Priority")
{
categoryImage.Source = new BitmapImage(new Uri("/AlarmClock;component/Images/exclamination_mark.png", UriKind.Relative));
}
else
if (category == "Favourite")
{
categoryImage.Source = new BitmapImage(new Uri("/AlarmClock;component/Images/star_full.png", UriKind.Relative));
}
Grid.SetColumn(categoryImage, 2);
schedule.Children.Add(categoryImage);
}
scheduleListBox.Items.Add(schedule);
}
}
private void scheduleListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
//Get the value of selected index in scheduleListBox
int selectedIndexOfSchedule = scheduleListBox.SelectedIndex;
NavigationService.Navigate(new Uri("/ViewScheduleDetails.xaml?selectedIndexOfSchedule=" + selectedIndexOfSchedule + "&selectedFolderName1=" + selectedFolderName1, UriKind.Relative));
}
取消选择项目?
myListBox.SelectedItem = -1;
选择一个项目后,只需删除所选内容。
private void scheduleListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
//Get the value of selected index in scheduleListBox
int selectedIndexOfSchedule = scheduleListBox.SelectedIndex;
// RESET THE SELECTED INDEX/ITEM
scheduleListBox.SelectedIndex = -1;
// OR
scheduleListBox.SelectedItem = null;
NavigationService.Navigate(new Uri("/ViewScheduleDetails.xaml?selectedIndexOfSchedule=" + selectedIndexOfSchedule + "&selectedFolderName1=" + selectedFolderName1, UriKind.Relative));
}