Я использую элемент управления GridView в WP7 для отображения записей из изолированного хранилища. Я показываю эти
записи при загрузке страницы события страницы. GridViewPage изначально имеет 4 столбца
но когда я возвращаюсь в GridViewPage, посещая другую страницу, gridview
показаны повторяющиеся столбцы (на этот раз 8 столбцов).
В следующий раз я снова вернусь к GridViewPage, он показывает 12 столбцов,
но я не вижу никаких изменений на соответствующей странице XAML.
Но прежде чем присваивать значение ItemSource объекта gridView, я сохраняю записи из isostore в один вариант IList, внося некоторые изменения и назначая эту переменную IList для ItemSource объекта GridView.
private void GridViewPage_load (отправитель объекта, RoutedEventArgs r)
{
System.Windows.Threading.DispatcherTimer dt = new System.Windows.Threading.DispatcherTimer ();
dt.Interval = новый интервал времени (0, 0, 0, 1,0); // 1 секунда
dt.Tick + = новый EventHandler (dt_Tick);
dt.Start ();
}
void dt_Tick (отправитель объекта, EventArgs e)
{
IList rawList = DBHelperMeeting.GetData ();
int count = rawList.Count;
для (int i = 0; i
string startDate = Convert.ToDateTime(rawList.ElementAt(i).Date.ToString()).ToShortDateString();
startDate+=" "+rawList.ElementAt(i).Start_Time;
if ((bool)rawList.ElementAt(i).Flag == true)
{
TimeSpan st = Convert.ToDateTime(startDate) - DateTime.Now;
//MessageBox.Show(st.ToString());
TimeSpan et = Convert.ToDateTime(endDate) - DateTime.Now;
//MessageBox.Show(et.ToString());
if (st.Seconds < 0)
{
if (et.Seconds < 0)
{
rawList.ElementAt(i).Flag = false;
rawList.ElementAt(i).Rem_Time = "Meeting Finished";
}
else
{
rawList.ElementAt(i).Rem_Time = "Meeting Started";
}
}
else if (st.Minutes > 0 && ((st.Hours * 60) + (st.Minutes)) < 16)
{
rawList.ElementAt(i).Rem_Time = st.Minutes.ToString() + " Min.";
}
}
}
GridView1.ItemsSource = rawList;
}
На самом деле я хочу обновить поле Rem_Time каждой записи (т.е. встречи) в соответствии со временем (Rem_Time показывает оставшееся время для встречи)