私のwpfアプリケーションでは、このメソッドが定義されているMonthViewクラスがあります。このクラスは、カレンダーから選択された日付を取得し、その日付のそれぞれのdayViewウィンドウを表示します。
public void calItemSelectedDate(object sender, SelectionChangedEventArgs e)
{
DateTime d;
if (sender is DateTime)
{
d = (DateTime)sender;
}
else
{
DateTime.TryParse(sender.ToString(), out d);
}
DayView Activity = new DayView(d);
Activity.Show();
this.Hide();
}
ここで、CustomViewクラスで、選択した日付を渡すdayViewのインスタンスを作成しました。
DateTime p = Globals._globalController.getMonthViewWindow.calItemSelectedDate(object s, EventArgs e); // here it shows error
DayView d = new DayView(DateTime p);
したがって、適切な日時パラメーターをDayViewに渡すことができるように、その 'calItemSelectedDate'メソッドを呼び出す方法を提案してください。
参照するメソッドはイベントハンドラーであり、直接呼び出すのに最適な選択ではありません。この場合私がすることは、次のとおりです。
//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);
}
そしてあなたがそれを呼びたいあなたのクラスから:
DateTime p = Globals._globalController.getMonthViewWindow.SelectedDate;
DayView d = new DayView(p);
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加