0
我對我的日曆有特定的問題。它很難解釋,但通過確定本週#(本月)和我每週做網格。日期並不正確。例如:2011年10月1日應該從週六開始,因爲第一週是在第一週,但是從星期六開始,日曆應該是這樣的:(假設每天都有網格)我知道爲什麼會出現這個問題不知道如何解決它。這些日期並沒有排在他們應該在電網上的位置。wpf使用網格製作日曆
日曆應該是這樣的:
Columns October 2011 grid.column = 7 (0-6) grid.row = 6 (0-5) (Sunday-Saturday) Sunday Monday Tuesday Wednesday Thursday Friday Saturday row 0 1 2 3 4 5 6 0 ------------------------------------------------- 1st 1 2nd 3rd 4th 5th 6th-----------etc..--- 2 --------------------------------------------etc...------ 3 ------etc..--------------------------------------------- 4 ---------------- 25th 26th 27th 28th 29th 5 30th 31st
但是我的是這樣的:(0-4欄應下移一行)
Sunday Monday Tuesday Wednesday Thursday Friday Saturday row 0 1 2 3 4 5 6 0 2nd 3rd 4th 5th 6th------------- 1st 1 9th 10th 11th 12th 13th-----------etc..--- 2 --------------------------------------------etc...------ 3 ------etc..------25th 26th 27th----------------- 4 30th 31st--- --------------------- 28th 29th 5 -------------
代碼:
public SchedulePage(MainWindow parentForm)
{
InitializeComponent();
_parentForm = parentForm;
// DateTime date = new DateTime(year, month, day);
var t = new List<Schedule>();
DateTime curr = DateTime.Now;
DateTime newcurr = new DateTime(curr.Year, curr.Month, 1);
var cal = System.Globalization.DateTimeFormatInfo.CurrentInfo.Calendar;
var ms = cal.GetWeekOfYear(new DateTime(newcurr.Year, newcurr.Month, 1), System.Globalization.CalendarWeekRule.FirstDay, System.DayOfWeek.Sunday);
for (var i = 1; newcurr.Month == curr.Month; newcurr = newcurr.AddDays(1))
{
var sched = new Schedule();
var month_week = (newcurr.Day/7) + 1;
sched.MonthWeek = month_week.ToString();
sched.Month = newcurr.Month.ToString();
sched.Year = newcurr.Year.ToString();
sched.day = newcurr.Day.ToString();
sched.WeekOfYear = cal.GetWeekOfYear(newcurr, System.Globalization.CalendarWeekRule.FirstDay, DayOfWeek.Sunday).ToString();
sched.dayofweek = newcurr.DayOfWeek.ToString();
t.Add(sched);
/* if (newcurr.Day == 1 && (int)newcurr.DayOfWeek == 7)
{
int findspot = month_week - 1;
//_parentForm.bindings.schedule.Add(new Schedule {
// WeekNo = month_week - findspot,
// WeekDay = (int)newcurr.DayOfWeek,
// day = newcurr.Day.ToString()
//});
} */
_parentForm.bindings.schedule.Add(new Schedule {
WeekNo = month_week - 1 ,
WeekDay = (int)newcurr.DayOfWeek,
day = newcurr.Day.ToString()
});
}
}
對不起我的畫沒使用
ExtensionMethod
我沒有想到它的方式,但如果你看看2011年10月你的日曆,你會看到總共有6行,第一行(grid.row(0))只包含星期六(十月一日),但我的包含2日 - 6日和1日星期六。 – TMan您可以使用ImageShack上傳正在發生的事情和想要的快照,並使用圖像小屋圖片鏈接在堆棧溢出問題編輯器上使用「插入圖像」選項。 –