Я довольно новичок в Silverlight, и у меня есть некоторые проблемы с моим приложением. Я сохраняю дату приложения в базе данных и в IsolatedStorage.
У меня есть элемент управления изображением в верхней части пользовательского интерфейса, где пользователь всегда может видеть текущую дату приложения. Я использую изображение, потому что я создал несколько стильных изображений для представления даты в формате мм.гггг.
Я установил URI элемента управления изображением на главной странице Authentication_LoggedIn ():
//setez luna curenta in isolatedStorage
adminUtilizContext.GetSetariParticulare(4, 0, (op) =>
{
foreach (var item in op.Value)
{
if (IsolatedStorageSettings.ApplicationSettings.Contains("lunaCurenta"))
IsolatedStorageSettings.ApplicationSettings["lunaCurenta"] = item.Substring(2);
else
IsolatedStorageSettings.ApplicationSettings.Add("lunaCurenta", item.Substring(2));
Uri uri;
uri = new Uri("/Indeco.SIEF;component/Images/Calendar/"+item.Substring(2)+".png", UriKind.RelativeOrAbsolute);
dataLuna.Source = new BitmapImage(uri);
}
}, null);
xaml выглядит так:
<StackPanel Grid.Column="1" Orientation="Horizontal" HorizontalAlignment="Right">
<Image Name="dataLuna" HorizontalAlignment="Right"/>
</StackPanel>
Работает нормально, но проблема появляется, когда пользователь меняет текущую дату. В базе данных и IsolatedStorage хранится правильно. Я изменяю источник изображения, но новое изображение не появляется, пока я не обновлю страницу вручную.
Подскажите, пожалуйста, как я могу сделать это автоматически, без необходимости вручную обновлять страницу!
С уважением.
Код, в котором пользователь изменяет дату, находится в ViewModel (CurrentConfigurationViewModel.cs) основного пользовательского интерфейса (CurrentConfigurations.xaml). Существует комбинированный список с месяцами, а SelectedItemChanged автоматически обновляет базу данных и IsolatedStorage. поместите код, который вы видели в моем предыдущем комментарии. Для года тоже есть элемент управления NumericUpDown, который работает так же. Но сейчас давайте поговорим о месяце, а после этого я сам сделаю это за год: D!
еще раз спасибо
Как вы можете видеть на этом рисунке, когда пользователь вошел в систему в приложении, дата была апрель 2011 г. (вверху справа), и после того, как я изменил месяц, он по-прежнему отображает старую дату, и я проверил ее в БД в изолированном хранилище, и, похоже, все в порядке Там вы можете увидеть код, который я написал, чтобы обновить источник изображения тоже.