wpf小技巧——后台设置背景颜色
要设置的控件名.Background = new SolidColorBrush(Color.FromArgb(80, 230, 230, 230));
SolidColorBrush可以换成其他的brush 视各自需求而定
int rows=(offset + daysInMonth + lastoffset) / 7;
for (int i = 0; i < rows; i++)
{
WeekOfDaysControls weekRowCtrl = new WeekOfDaysControls();
DateTime startDay=firstDay.AddDays(counter);
weekRowCtrl.WeekLeable.Text = "week"+i.ToString();
for (int j =0; j < 7 ; j++)
{
DayBoxControl dayBoxCtrl = new DayBoxControl();
if(firstDay.AddDays(counter).ToShortDateString()==DateTime.Now.ToShortDateString())
{
dayBoxCtrl.DayAppointmentsStack.Background = new SolidColorBrush(Color.FromArgb(100, 250, 230, 160));
}
if (j < offset&&i==0)
{
dayBoxCtrl.DayNumberLabel.Content = firstDay.AddDays(-(offset - j)).Month + "/" + firstDay.AddDays(-(offset - j)).Day;
dayBoxCtrl.Tag = firstDay.AddDays(-(offset - j)).Month + "/" + firstDay.AddDays(-(offset - j)).Day;
dayBoxCtrl.DayAppointmentsStack.Background = new SolidColorBrush(Color.FromArgb(80, 230, 230, 230));
dayBoxCtrl.DayNumberLabel.Foreground = new SolidColorBrush(Color.FromArgb(100, 100, 100, 100));
}
else if(i == rows-1&&counter==daysInMonth)
{
dayBoxCtrl.DayNumberLabel.Content = lastDay.AddDays((lastoffset - (6 - j))).Month + "/" + lastDay.AddDays(lastoffset - (6 - j)).Day;
dayBoxCtrl.Tag = lastDay.AddDays(lastoffset - (6 - j)).Month + "/" + lastDay.AddDays(lastoffset - (6 - j)).Day;
dayBoxCtrl.DayAppointmentsStack.Background = new SolidColorBrush(Color.FromArgb(80, 230, 230, 230));
dayBoxCtrl.DayNumberLabel.Foreground = new SolidColorBrush(Color.FromArgb(100, 100, 100, 100));
}
else
{
dayBoxCtrl.DayNumberLabel.Content = (counter + 1).ToString();
dayBoxCtrl.Tag = (counter + 1);
dayBoxCtrl.Uid = firstDay.AddDays(counter).ToShortDateString();
counter++;
}
dayBoxCtrl.MouseDoubleClick +=DayBoxClick;
Grid.SetColumn(dayBoxCtrl, j+1);
weekRowCtrl.WeekRowGrid.Children.Add(dayBoxCtrl);
}
Grid.SetRow(weekRowCtrl, i);
MonthViewGrid.Children.Add(weekRowCtrl);