wpf中怎么得到选中日期的背景色?

ztwz 2010-11-08 10:55:41
这是源码(vs2010项目)
http://v4.u.115.com/file/f461fafcb3

描述:
我要做这样一个功能,就是日期中标注有事件的日期背景是红色的,当我选中有事件的日期,下面的DataGrid控件才显示,如果选中的日期是没有事件的,就隐藏控件,我想通过选中日期背景色来判断是不显示和隐藏控件。但我不知道要怎么得到选中日期控件的背景色!
请指点~~~谢谢~~
...全文
69 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
bloodish 2010-11-08
  • 打赏
  • 举报
回复
WPF和Silverlight我们都推荐使用MVVM,

如果你用过MVVM,应该明白,选中的日期是不是一个事件日期,应该交给ViewModel去处理,而ViewModel里是访问不到Calendar对象的引用的,只会将Calendar的SelectedDate绑定为ViewModel的一个属性,通过NotifySelectedDate变化通知到是否要判断是事件日期.完全跟Xaml这一级脱离关系,牵扯到根据Calendar背景色去判断就更不应该了.

WPF是数据驱动UI,而不WindowsForm的UI驱动数据. 学WPF就得先转变观念.

crackdung 2010-11-08
  • 打赏
  • 举报
回复
这个控件for wpf超好

http://www.actiprosoftware.com/Default.aspx


my blog
http://ufo-crackerx.blog.163.com/
ztwz 2010-11-08
  • 打赏
  • 举报
回复
呃~~~其实楼上说的我想过,但就是一根经总想取得背景色~~~
吃完中饭看有没有别的答案,没有就结帖了。
bloodish 2010-11-08
  • 打赏
  • 举报
回复
看了你的代码,有事件的日期都已经以静态成员变量的方式定义到DayConvert中,

static Dictionary<DateTime, string> dic = new Dictionary<DateTime, string>();
public Dictionary<DateTime, string> DateWithEvent
{
get
{
return dic;
}
}

private void dateCalendar_SelectedDatesChanged(object sender, SelectionChangedEventArgs e)
{
if (DayConvert.DateWithEvent.ContainsKey(dateCalendar.SelectedDate.Value))
{
// to do
}
}



你只要放个属性出来可以访问这个Dictionary,再根据选中日期判断是否在这个Dictionary里不就可以了?
何必要绕个大圈子去判断背景色呢?
devin_jia 2010-11-08
  • 打赏
  • 举报
回复
只能进CSDN
ztwz 2010-11-08
  • 打赏
  • 举报
回复
好大的水,沙花~~~
顶~~~~

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧