locked
Сохранение положения элемента после выхода из приложения. RRS feed

  • Вопрос

  • Есть прямоугольник, который я двигаю по горизонтали кнопками вверх и вниз. 

    private void Button_Click(object sender, RoutedEventArgs e)
            {
               myTranslateTransform.Y = myTranslateTransform.Y + 10;      
            }

            private void Button_Click_1(object sender, RoutedEventArgs e)
            {
                myTranslateTransform.Y = myTranslateTransform.Y - 5;
            }

    Как мне сохранить положение прямоугольника при выходе из приложения?

    11 декабря 2013 г. 14:55

Ответы

  • Сохранять в каком-то источнике данных: в настройках приложения, файлах (например сериализовать в xml или просто хранить в виде пар значений), в базе данных (например sqllight), в каком то облачном хранилище или web-сервисе.

    Вот пример работы с настройками

    11 декабря 2013 г. 15:44
  • Смотрите, какова последовательность действий:

    1. Создаете объект класса

    private IsolatedStorageSettings appSettings = 
               IsolatedStorageSettings.ApplicationSettings;

    2. В нужном Вам месте пишете

    appSettings.Add("Y", myTranslateTransform.Y);

    Чтобы уж наверняка, можете в каждом обработчике события писать

    if(appSettings.Contains("Y"))
    {
      appSettings("Y") = myTranslateTransform.Y;
    }
    else
    {
      appSettings.Add("Y", myTranslateTransform.Y);
    }



    11 декабря 2013 г. 16:40
  • Можно попробовать вот так:

    private IsolatedStorageSettings appSettings = IsolatedStorageSettings.ApplicationSettings; private void ButtonSave_Click(object sender, RoutedEventArgs e) {

    // appSettings.Add("Y", myTranslateTransform.Y);

    // } //some code private void Some_Event(object sender, EventArgs e) {

    // int coordY =(int)appSettings["email"];

    // }


    11 декабря 2013 г. 16:27

Все ответы

  • Сохранять в каком-то источнике данных: в настройках приложения, файлах (например сериализовать в xml или просто хранить в виде пар значений), в базе данных (например sqllight), в каком то облачном хранилище или web-сервисе.

    Вот пример работы с настройками

    11 декабря 2013 г. 15:44
  • Я больше всего склонялся к  IsolatedStorageSettings . Но так и не понял, как его прикрутить к позиции прямоугольника.
    11 декабря 2013 г. 16:11
  • ну вы же как то меняете координаты прямоугольника через код? в чем проблема сохранить их в настройки, тем более что по вашей же ссылке есть рабочие примеры?
    11 декабря 2013 г. 16:23
  • Можно попробовать вот так:

    private IsolatedStorageSettings appSettings = IsolatedStorageSettings.ApplicationSettings; private void ButtonSave_Click(object sender, RoutedEventArgs e) {

    // appSettings.Add("Y", myTranslateTransform.Y);

    // } //some code private void Some_Event(object sender, EventArgs e) {

    // int coordY =(int)appSettings["email"];

    // }


    11 декабря 2013 г. 16:27
  • И уже координате Y присваиваете значение coordY.
    11 декабря 2013 г. 16:28
  • Проблема в том, что я новичок) И C# только учу. Не могу понять как правильно код написать в этом случае. 
    11 декабря 2013 г. 16:31
  • Смотрите, какова последовательность действий:

    1. Создаете объект класса

    private IsolatedStorageSettings appSettings = 
               IsolatedStorageSettings.ApplicationSettings;

    2. В нужном Вам месте пишете

    appSettings.Add("Y", myTranslateTransform.Y);

    Чтобы уж наверняка, можете в каждом обработчике события писать

    if(appSettings.Contains("Y"))
    {
      appSettings("Y") = myTranslateTransform.Y;
    }
    else
    {
      appSettings.Add("Y", myTranslateTransform.Y);
    }



    11 декабря 2013 г. 16:40
  • Спасибо за варианты буду разбираться)
    11 декабря 2013 г. 16:59