2012-12-10 1 views
0

Mon application WPF dispose d'une fenêtre avec un contrôle tiers dans le chargement des données. Le contrôle a des méthodes pour afficher et masquer la barre de progression lorsque les données commencent à se charger et se terminer. J'utilise MVVM pour la liaison de données à mes contrôles. J'ai besoin de propriété qui indique quand le chargement des données commence et se termine et cette propriété doit être accessible en code derrière. J'ai ajouté le contrôle CheckBox dans la fenêtre avec Visibilité = « hidden » et le lier à drapeau de la propriété dans mon ViewModel, a également ajouté EventHandler sur l'événement Vérifié:WPF fire EventHandler après que la propriété a été modifiée via la liaison

<CheckBox Name="chkIndicator" Visibility="Hidden" IsChecked="{Binding IsDataLoading}" Checked="chkIndicator_Checked" /> 

Dans le code derrière gestionnaire d'événements Vue:

private void chkIndicator_Checked(object sender, RoutedEventArgs e) 
{ 
    if(this.chkIndicator.IsChecked.Value) 
     tableViewOrders.ShowIndicator(); 
    else 
     tableViewOrders.HideIndicator(); 
} 

en ViewModel lorsque le chargement de données:

public bool IsDataLoading 
{ 
    get { return _isDataLoading;} 
    set { 
     _isDataLoading = value; 
     PropertyChanged("IsDataLoading"); 
    } 
} 
... 
public void MethodLoadingData() 
{ 
    /*1*/ IsDataLoading = true; 

    //here method for loading data to collection binded to tableViewOrders 

    /*2*/ IsDataLoading = false; 
} 

lorsque la méthode MethodLoadingData exécuter, ligne// est beau travail - eventhandler ch kIndicator_Checked a été déclenché, mais lorsque// run - eventhandler ne se déclenche pas. Des idées où je me trompe?

Répondre

Questions connexes