Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2016
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.79 KB | None | 0 0
  1. <ResourceDictionary>
  2. <Style TargetType="{x:Type Neptune:Calendar}">
  3. <Setter Property="Template">
  4. <Setter.Value>
  5. <ControlTemplate TargetType="{x:Type Neptune:Calendar}">
  6.  
  7. <!--Some header items and other misc controls....-->
  8.  
  9. <DockPanel>
  10.  
  11. <!--Calendar-->
  12. <ListBox ItemsSource="{Binding Days}" Background="{x:Null}"
  13. SelectedItem="{Binding SelectedDay, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
  14.  
  15. </DockPanel>
  16. </ControlTemplate>
  17. </Setter.Value>
  18. </Setter>
  19. </Style>
  20.  
  21. public class Calendar : Control
  22. {
  23. public ObservableCollection<Day> Days { get; set; }
  24.  
  25. //SelectedDay Property
  26. public static readonly DependencyProperty SelectedDayProperty =
  27. DependencyProperty.Register("SelectedDay", typeof(Day), typeof(Calendar),
  28. new PropertyMetadata(null, OnSelectedDayChanged));
  29.  
  30. public Day SelectedDay
  31. {
  32. get { return (Day)GetValue(SelectedDayProperty); }
  33. set { SetValue(SelectedDayProperty, value); }
  34. }
  35.  
  36. private static void OnSelectedDayChanged(DependencyObject pager, DependencyPropertyChangedEventArgs e)
  37. {
  38. Calendar d = pager as Calendar;
  39. //MessageBox.Shoy.Date.ToShortw(d.SelectedDaDateString());///THIS SHOWS CORRECT SELECTED DATE!!!!
  40. d.SetValue(ThisDayProperty, d.SelectedDay);
  41. }
  42.  
  43. <Neptune:Calendar Grid.Row="1" x:Name="Calendar" Margin="0,10,0,0"
  44. ThisDay="{Binding DaySelected, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged,
  45. RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}">
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement