From 84af15fc5bd01f7acb80401085397846504486d9 Mon Sep 17 00:00:00 2001 From: Eric Maupin Date: Thu, 23 Aug 2018 15:08:45 -0400 Subject: [Win] Fix resource tooltips not updating Fixes #300 --- Xamarin.PropertyEditing.Windows/PropertyButton.cs | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'Xamarin.PropertyEditing.Windows') diff --git a/Xamarin.PropertyEditing.Windows/PropertyButton.cs b/Xamarin.PropertyEditing.Windows/PropertyButton.cs index d4d41e7..ef59783 100644 --- a/Xamarin.PropertyEditing.Windows/PropertyButton.cs +++ b/Xamarin.PropertyEditing.Windows/PropertyButton.cs @@ -1,6 +1,7 @@ using System; using System.Linq; using System.Collections; +using System.ComponentModel; using System.Windows; using System.Windows.Controls; using System.Windows.Controls.Primitives; @@ -100,6 +101,7 @@ namespace Xamarin.PropertyEditing.Windows private void OnDataContextChanged (object sender, DependencyPropertyChangedEventArgs e) { if (e.OldValue is PropertyViewModel pvm) { + pvm.PropertyChanged -= OnPropertyChanged; pvm.ResourceRequested -= OnResourceRequested; pvm.CreateBindingRequested -= OnCreateBindingRequested; pvm.CreateResourceRequested -= OnCreateResourceRequested; @@ -107,12 +109,22 @@ namespace Xamarin.PropertyEditing.Windows this.vm = e.NewValue as PropertyViewModel; if (this.vm != null) { + this.vm.PropertyChanged += OnPropertyChanged; this.vm.ResourceRequested += OnResourceRequested; this.vm.CreateBindingRequested += OnCreateBindingRequested; this.vm.CreateResourceRequested += OnCreateResourceRequested; } } + private void OnPropertyChanged (object sender, PropertyChangedEventArgs e) + { + switch (e.PropertyName) { + case nameof(PropertyViewModel.Resource): + OnValueSourceChanged (this.vm.ValueSource); + break; + } + } + private void OnValueSourceChanged (ValueSource source) { if (this.indicator == null) -- cgit v1.2.3