2014-11-18 2 views
0

Я думаю о календаре, связанном со списком простых объектов, содержащих два свойства: DateTime и string (содержащий шестнадцатеричный цвет).Календарный день в зависимости от списка

Можно ли перебирать код с помощью дневных кнопок или использовать какой-либо шаблон данных в xaml, чтобы проверить, содержит ли список указанную дату и вернуть свой цвет к границе?

Единственное, что я нашел, это решение Telerik, но для его работы требуются библиотеки управления, я хотел бы знать, есть ли другие варианты.

ответ

0

Б дня цвета мульти конвертер значения проходящего ток кнопка дня и моя окрашенная коллекция дней в качестве значений

public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture) 
    { 
     var result = "Transparent"; 

     if (!(values[0] is DateTime)) 
      return result; 

     ObservableCollection<Log> collection = null; 

     if (values[1] is ObservableCollection<Log>) 
      collection = (ObservableCollection<Log>) values[1]; 

     if (collection != null) 
     { 
      foreach (var log in collection.Where(log => (DateTime) values[0] == log.Date.Date)) 
      { 
       result = log.BackgroundColor; 
       break; 
      } 
     } 

     return new SolidColorBrush((Color) ColorConverter.ConvertFromString(result)); 
    } 

<Style TargetType="{x:Type Border}"> 
<Setter Property="BorderBrush"> 
    <Setter.Value> 
     <MultiBinding Converter="{StaticResource DayColorConv}" FallbackValue="Transparent"> 
      <Binding/> 
      <Binding Path="CurrentLogs" RelativeSource="{RelativeSource Mode=FindAncestor, AncestorType={x:Type panels:Schedule}}"/> 
     </MultiBinding> 
    </Setter.Value> 
</Setter>