2010-08-17 14 views
5

Estoy creando una ventana que usa un calendario WPF para buscar documentos creados en fechas especificadas durante el mes que se muestra. Cuando el calendario cambia de mes, busco en una base de datos todos los documentos creados durante ese mes, que utilizo para crear una lista de fechas durante el mes que tienen documentos.WPF Calendario: Boldface especificó las fechas?

En el control Calendar, quiero poner en negrita las fechas que tienen documentos, del mismo modo que Outlook negrita las fechas que tienen citas.

Así que, aquí está mi pregunta: ¿Cómo coloco en negrita una fecha específica en la vista de mes del control de calendario? Gracias por tu ayuda.

Respuesta

2

Resulta que el diseño en negrita está codificado en varios lugares, por lo que cambié a la fecha resaltando en su lugar. Escribí un control personalizado que tiene una lista de HighlightedDates; al agregar una fecha a la lista, se resalta la fecha y se proporciona una sugerencia de herramienta opcional para la fecha con cualquier contenido que elija la aplicación de host.

He escrito un artículo de CodeProject titulado Extending the WPF Calendar. El artículo incluye el control y explica cómo lo construí.

5

Esto puede ayudar. http://www.c-sharpcorner.com/UploadFile/mahesh/539/Default.aspx El área "Fechas seleccionadas y fechas seleccionadas" le mostrará cómo seleccionarlas, y más adelante puede mostrarle cómo formatear su calendario. Es decir, si está usando el mismo calendario que espero que sea. Espero que esto ayude.

Fecha y fechas seleccionado

propiedad SelectedDate representa la fecha actual seleccionada. Si la selección de fecha múltiple es verdadera, la propiedad SelectedDates representa todas las fechas seleccionadas en un calendario. El siguiente fragmento de código establece SelectedDates en XAML en tiempo de diseño.

<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> 

las fechas seleccionadas en un calendario se parece a la figura 8 donde se puede véase March 5, 15, y 25 tienen un fondo de color azul claro y representa las fechas seleccionadas.

El siguiente fragmento de código establece la propiedad SelectedDates en WPF en tiempo de ejecución.

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

Gracias! Aceptado y +1 para el código tanto en WPF como en XAML: muy útil. –

+0

No hay problema, me complace ayudarlo. – XstreamINsanity

+0

Lo sentimos, tuvimos que retirar la aceptación. Esa solución selecciona las fechas. Todo lo que quiero hacer es ponerlos en negrita. Haré clic en una fecha para seleccionarla y mostrar las Notas creadas en esa fecha. Dejó el +1 para obtener un código útil. –

Cuestiones relacionadas