Вы можете хранить любой серийный контент в своих пользовательских настройках. Поэтому просто определите свой класс выбора пользователя и класс макета страницы, и вы можете сделать его постоянным, как любую строку или целое число.
(вы можете увидеть, как здесь: Пользовательское перечисление как тип настройки приложения в C#? )
Изменить. В этом посте вы можете видеть, что можете использовать любой объект в своих настройках, в том числе тот, который вы определили сами в своем проекте. Для этого вы должны указать полное имя класса, включая NameSpace вашего проекта (MyNameSpace.MyPreferenceStorageClass).
Редактировать 2: поэтому я опишу больше с небольшим примером.
1) вам нужно определить класс, который будет хранить ваши настройки. Я выбираю произвольные имена для своего примера:
Public Class UserChoices
Public Property DisplayInColor As Boolean = False
Public Property UseKeyboard As Boolean = True
End Class
Обязательно установите значение по умолчанию. Вам нужно выполнить успешную компиляцию после написания вашего класса, чтобы класс находился внутри текущего пространства имен.
2) затем перейдите в окно настроек вашего проекта. Добавьте переменную настроек с нужным именем.
Я назвал ее AppUserChoices. Затем выберите тип, перейдите в «Обзор», затем введите MyNameSpace.UserChoices в качестве типа.
(Очевидно, замените «MyNameSpace» вашим пространством имен... ;-))
3) вы закончили. Я написал небольшой код для игры с настройками (я поместил его в обработчик событий Startup моего приложения):
Запустите его несколько раз. В первый раз он должен сообщить, что выбор пользователя ничего не значит. Тогда они будут в порядке, и настройка цвета будет каждый раз переключаться между цветным и черно-белым.
Private Sub Application_Startup
(ByVal sender As System.Object, ByVal e As System.Windows.StartupEventArgs)
If My.Settings.AppUserChoices Is Nothing Then
MessageBox.Show("AppUserChoices is nothing")
My.Settings.AppUserChoices = New UserChoices
My.Settings.Save()
Else
MessageBox.Show("AppUserChoices is **not** nothing")
My.Settings.AppUserChoices.DisplayInColor = Not My.Settings.AppUserChoices.DisplayInColor
My.Settings.Save()
If My.Settings.AppUserChoices.DisplayInColor Then _
MessageBox.Show("show colors") _
Else _
MessageBox.Show("show in B&W")
End If
End Sub
4) Обратите внимание, что вам может понадобиться класс UserChoices для реализации INotifyPropertyChange на случай, если вы измените их в коде. (Пример: если пользователь изменяет «DisplayInColor», вы можете установить то же значение для «PrintInColor».)
5) для предпочтения пользователя для макета страницы создайте также класс для хранения настроек макета и нового элемента в настройках таким же образом.
6) для привязки к значению настроек, ну, пусть другой пост StackOverflow сделает эту работу: Привязать к значению, указанному в настройках
person
GameAlchemist
schedule
21.08.2012