У меня есть приложение MVVM WPF, в которое вставлены «пользовательские настройки». Эти параметры содержат такие вещи, как последние использованные поисковые термины или ширину столбцов в сетках данных и т. Д. Это прекрасно работает, и ViewModel не знает об этих настройках, так как они относятся к определенному виду, а ViewModel может использоваться несколькими представлениями.
Эти значения привязаны к Xaml представления.
Тем не менее, некоторые настройки имеют уровень помех для свойств в ViewModel.
Пример:
ViewModel имеет свойство public int MaxResults { get; set; }
, которое используется для ограничения количества результатов, возвращаемых запросом.
Когда пользователь меняет это значение, скажем, со 100 на 50, в идеале мы хотим, чтобы оно сохранялось в настройках просмотра; таким образом, включая следующий раз, когда используется просмотр, используется значение 50, а не 100.
мой первый вопрос:
Как связать настройки просмотра и свойство ViewModel с одним и тем же элементом? Я думаю о преобразователе нескольких значений, но не уверен, есть ли более забавные способы выполнения этой операции. Мне нужно, чтобы обе привязки были двухсторонними, но также не попадали ни в какие ужасные циклы обновления.
мой второй вопрос:
Иногда я хочу, чтобы ViewModel имел приоритет над значениями, предоставленными настройками просмотра. Мне интересно, есть ли у кого-нибудь предложения о том, чтобы одно связанное значение преобладало над другим.
Любые комментарии / ответы / вопросы с благодарностью.