Крис, я не уверен, что это лучший способ связать ApplicationSettings, но я так и сделал в Witty .
1) Создайте свойство зависимости для параметра, который вы хотите связать, в окне / странице / usercontrol / container. В этом случае у меня есть пользовательские настройки для воспроизведения звуков.
public bool PlaySounds
{
get { return (bool)GetValue(PlaySoundsProperty); }
set { SetValue(PlaySoundsProperty, value); }
}
public static readonly DependencyProperty PlaySoundsProperty =
DependencyProperty.Register("PlaySounds", typeof(bool), typeof(Options),
new FrameworkPropertyMetadata(false, new PropertyChangedCallback(OnPlaySoundsChanged)));
private static void OnPlaySoundsChanged(DependencyObject obj, DependencyPropertyChangedEventArgs args)
{
Properties.Settings.Default.PlaySounds = (bool)args.NewValue;
Properties.Settings.Default.Save();
}
2) В конструкторе инициализируйте значение свойства в соответствии с настройками приложения
PlaySounds = Properties.Settings.Default.PlaySounds;
3) Привязать свойство в XAML
<CheckBox Content="Play Sounds on new Tweets" x:Name="PlaySoundsCheckBox" IsChecked="{Binding Path=PlaySounds, ElementName=Window, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
Вы можете скачать полный Остроумный исходный код , чтобы увидеть его в действии или просто просмотреть код для окна настроек .