2013-07-09 1 views
0

Dans mon application wpf, j'ai la classe MonthView où cette méthode est définie, qui prend la date sélectionnée dans le calendrier et affiche la fenêtre dayView correspondante pour cette date. Maintenant, dans ma classe CustomView, j'ai créé l'instance de dayView où je veux passer la date sélectionnée.Comment appeler la méthode ayant des paramètres (expéditeur d'objet, EventArgs e)

DateTime p = Globals._globalController.getMonthViewWindow.calItemSelectedDate(object s, EventArgs e); // here it shows error 
DayView d = new DayView(DateTime p); 

donc, s'il vous plaît suggérer des moyens d'appeler cette méthode « calItemSelectedDate » pour que je puisse passer le paramètre datetime approprié à mon DayView.

+0

essayer DateTime p = Globals._globalController.getMonthViewWindow.calItemSelectedDate (ce, null) – DatRid

+0

@DatRid Erreur d'affichage du mot-clé 'this'. – Dinesh

Répondre

1

La méthode à laquelle faire référence est un gestionnaire d'événements et n'est pas un meilleur choix pour l'appel direct. Ce que je ferais dans ce cas, est:

//A PROPERTY THAT SAVES SELECTED DATE VALUE 
public DateTime SelectedDate {get;set;} 

//A METHOD THAT SHOWS ACTIVITY 
public void ShowActivity(DateTime date) { 
    DayView Activity = new DayView(date); 
    Activity.Show(); 
    this.Hide(); 
} 

public void calItemSelectedDate(object sender, SelectionChangedEventArgs e) 
{ 
    DateTime d; 
    if (sender is DateTime) 
    { 
     d = (DateTime)sender; 
    } 
    else 
    { 
     DateTime.TryParse(sender.ToString(), out d); 
    } 

    SelectedDate = d; 

    ShowActivity(d); 
} 

et de votre classe où vous voulez l'appeler:

DateTime p = Globals._globalController.getMonthViewWindow.SelectedDate; 
DayView d = new DayView(p); 
+0

J'ai essayé votre code mais, il montre une erreur en passant à DayView. – Dinesh

+0

@Dinesh: quelle est cette erreur? – Tigran

+0

L'erreur est "un initialiseur de champ ne peut pas référencer la méthode ou la propriété de champ non statique" – Dinesh

Questions connexes