2017-08-31 1 views
0

Je voudrais forcer une mise à jour de propriété de databound dans une page de contenu. Dans ce cas, il s'agit du paramètre ContentPageTitle.Comment forcer View à mettre à jour les propriétés liées dans Xamarin Forms?

<ContentPage x:Class="Containers.Views.ContainerPage" 
     xmlns="http://xamarin.com/schemas/2014/forms" 
     xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
     Title="{Binding SomeStringProperty}" 
     Appearing="ContentPage_Appearing"> 

Le plus proche est celui-ci, mais cela ne fonctionne pas. Je ne voudrais pas implémenter onPropertyChange événements. Je veux juste "actualiser" les données bornées d'une vue.

+0

votre classe BindingContext implémente-t-elle INotiftyPropertyChanged? – Jason

+0

oui il hérite de 'BaseDataObject' qui hérite de' ObservableObject' qui implémente 'INotifyPropertyChanged'; –

+0

Mais je voudrais ne pas mettre en œuvre sur les propriétés de changements d'événements. –

Répondre

1

Si votre viewmodel implémente déjà INotifyPropertyChanged - vous pouvez essayer de lever PropertyChangedEvent avec un paramètre null/vide - cela devrait forcer une mise à jour pour toutes les propriétés liées - more details here.

public void RaiseAllProperties() 
{ 
    PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(null)); 
}