2010-08-17 37 views
5

Tôi đang tạo một cửa sổ sử dụng lịch WPF để duyệt các tài liệu được tạo vào các ngày được chỉ định trong tháng được hiển thị. Khi lịch thay đổi tháng, tôi tìm kiếm cơ sở dữ liệu cho tất cả tài liệu được tạo trong tháng đó, mà tôi sử dụng để tạo danh sách các ngày trong tháng có tài liệu.Lịch WPF: Ngày chỉ định được in đậm?

Trong điều khiển Lịch, tôi muốn in đậm những ngày có tài liệu, theo cùng cách thức mà Outlook sẽ tô đậm ngày có cuộc hẹn.

Vì vậy, đây là câu hỏi của tôi: Làm cách nào để in đậm một ngày cụ thể trong chế độ xem theo tháng của Kiểm soát lịch? Cảm ơn bạn đã giúp đỡ.

Trả lời

2

Hóa ra tính năng in đậm được mã hóa cứng ở một số nơi, vì vậy tôi đã thay đổi làm nổi bật ngày thay thế. Tôi đã viết một điều khiển tùy chỉnh có một danh sách HighlightedDates; thêm ngày vào danh sách làm nổi bật ngày và cung cấp mẹo công cụ tùy chọn cho ngày có bất kỳ nội dung nào mà ứng dụng máy chủ chọn.

Tôi đã viết một bài viết CodeProject có tiêu đề Extending the WPF Calendar. Bài viết bao gồm kiểm soát và giải thích cách tôi đã xây dựng nó.

5

Điều này có thể hữu ích. http://www.c-sharpcorner.com/UploadFile/mahesh/539/Default.aspx Khu vực "Ngày được chọn và Ngày đã chọn" sẽ chỉ cho bạn cách chọn chúng và tiếp tục xem nó có thể cho bạn biết cách định dạng lịch của mình. Đó là, nếu bạn đang sử dụng cùng một lịch mà tôi hy vọng bạn đang có. Hi vọng điêu nay co ich.

Ngày đã chọn và ngày đã chọn

Thuộc tính được chọn đại diện cho ngày đã chọn hiện tại. Nếu nhiều lựa chọn ngày là đúng, thì thuộc tính SelectedDates đại diện cho tất cả các ngày đã chọn trong một Calendar. Đoạn mã sau thiết lập SelectedDates trong XAML tại thời điểm thiết kế.

<Calendar Name="MonthlyCalendar" 
    SelectionMode="MultipleRange" 
    DisplayDate="3/5/2010" 
    DisplayDateStart="3/1/2010" 
    DisplayDateEnd="3/31/2010" 
    FirstDayOfWeek="Tuesday" 
    IsTodayHighlighted="True" 
    xmlns:sys="clr-namespace:System;assembly=mscorlib" Margin="15,39,88,19"> 

    <Calendar.SelectedDates> 
     <sys:DateTime>3/5/2010</sys:DateTime> 
     <sys:DateTime>3/15/2010</sys:DateTime> 
     <sys:DateTime>3/25/2010</sys:DateTime> 
    </Calendar.SelectedDates> 
</Calendar> 

Ngày được chọn trong Lịch trông giống như Hình 8 nơi bạn có thể thấy ngày 5 tháng 3, ngày 15 và ngày 25 có nền màu xanh nhạt và thể hiện ngày đã chọn.

Đoạn mã sau đặt thuộc tính SelectedDates trong WPF tại thời gian chạy.

private void AddSelectedDates() 
{ 
    MonthlyCalendar.SelectedDates.Add(new DateTime(2010, 3, 5)); 
    MonthlyCalendar.SelectedDates.Add(new DateTime(2010, 3, 15)); 
    MonthlyCalendar.SelectedDates.Add(new DateTime(2010, 3, 25)); 
} 
+1

Cảm ơn! Được chấp nhận và +1 cho mã trong cả WPF và XAML - rất hữu ích. –

+0

Không sao, vui lòng giúp đỡ. – XstreamINsanity

+0

Xin lỗi - đã phải rút lại chấp nhận. Giải pháp đó chọn ngày tháng. Tất cả những gì tôi muốn làm là in đậm chúng. Tôi sẽ nhấp vào một ngày để chọn nó và hiển thị các ghi chú được tạo vào ngày đó. Còn lại +1 cho mã hữu ích. –

Các vấn đề liên quan