2010-09-09 34 views
0

我有一個WPF日曆控件的奇怪問題。我修改了控件模板以顯示日期高亮顯示,基本上,它工作得很好。突出顯示的日期在31個元素的字符串數組中指定。如果元素爲空,則表示與該元素對應的日期未突出顯示。如果字符串元素不爲空,則會突出顯示日期,並且控件可以在工具提示中顯示該字符串。我發佈了控制on CodeProject.comWPF日曆圖形不更新

這是我的問題:突出顯示不會更新,直到用戶點擊不同的月份。例如,我在日誌記錄應用程序中使用修改後的日曆。帶日誌條目的日期將突出顯示。用戶選擇日期並在文本框中輸入日誌條目。如果日期未突出顯示,則應在用戶提交日誌條目時突出顯示。但就目前而言,直到用戶點擊前進或後退一個月纔會顯示突出顯示,然後再次點擊返回原始月份。

強制更新(InvalidateVisual(),InvalidateArrange(),UpdateLayout()等)的常用方法不起作用。我可以通過在用戶提交日誌條目時將日曆設置爲不同的月份來解決此問題,然後立即將其設置爲原始月份。這與用戶點擊不同月份的效果相同,然後再返回。

但是,這顯然是一個非常醜陋的黑客攻擊,我希望有人做了類似的WPF日曆可以闡明我可能做些什麼來讓日曆完全刷新自己。換句話說,爲什麼突出顯示不會立即出現,我需要做些什麼來解決問題?謝謝你的幫助。

回答

0

我找到了我的答案。該錯誤在我的代碼中。我的控件使用值轉換器作爲突出顯示代碼的一部分,問題就在那裏。我將在接下來的幾天發佈更新到CodeProject.com上的文章。