Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add property "DateTime" to NavigationView #178

Merged
merged 1 commit into from
Jan 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions XCalendar.Forms/Views/CalendarView.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@
</StackLayout.Resources>

<xc:NavigationView
ControlTemplate="{Binding NavigationViewTemplate, Source={x:Reference CalendarView_Unique}}"
DateTime="{Binding NavigatedDate, Source={x:Reference CalendarView_Unique}}"
LeftArrowCommand="{Binding LeftArrowCommand, Source={x:Reference CalendarView_Unique}}"
LeftArrowCommandParameter="{Binding LeftArrowCommandParameter, Source={x:Reference CalendarView_Unique}}"
ControlTemplate="{Binding NavigationViewTemplate, Source={x:Reference CalendarView_Unique}}"
RightArrowCommand="{Binding RightArrowCommand, Source={x:Reference CalendarView_Unique}}"
RightArrowCommandParameter="{Binding RightArrowCommandParameter, Source={x:Reference CalendarView_Unique}}"
Text="{Binding NavigatedDate, StringFormat='{0:MMMM yyy}', Source={x:Reference CalendarView_Unique}}"/>
RightArrowCommandParameter="{Binding RightArrowCommandParameter, Source={x:Reference CalendarView_Unique}}"/>

<!--#region DayNames-->
<ContentView ControlTemplate="{Binding DayNamesTemplate, Source={x:Reference CalendarView_Unique}}">
Expand Down
11 changes: 10 additions & 1 deletion XCalendar.Forms/Views/NavigationView.xaml.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using System.Windows.Input;
using System;
using System.Windows.Input;
using Xamarin.Forms;
using Xamarin.Forms.Xaml;

Expand All @@ -10,6 +11,11 @@ public partial class NavigationView : ContentView
#region Properties

#region Bindable Properties
public DateTime? DateTime
{
get { return (DateTime?)GetValue(DateTimeProperty); }
set { SetValue(DateTimeProperty, value); }
}
public TextTransform TextTransform
{
get { return (TextTransform)GetValue(TextTransformProperty); }
Expand Down Expand Up @@ -123,6 +129,7 @@ public float ArrowCornerRadius
}

#region Bindable Properties Initialisers
public static readonly BindableProperty DateTimeProperty = BindableProperty.Create(nameof(DateTime), typeof(DateTime?), typeof(DayView), System.DateTime.Today);
public static readonly BindableProperty CharacterSpacingProperty = BindableProperty.Create(nameof(CharacterSpacing), typeof(double), typeof(NavigationView), Label.CharacterSpacingProperty.DefaultValue);
public static readonly BindableProperty FontAttributesProperty = BindableProperty.Create(nameof(FontAttributes), typeof(FontAttributes), typeof(NavigationView), FontAttributes.Bold);
public static readonly BindableProperty FontFamilyProperty = BindableProperty.Create(nameof(FontFamily), typeof(string), typeof(NavigationView), Label.FontFamilyProperty.DefaultValue);
Expand Down Expand Up @@ -154,6 +161,8 @@ public float ArrowCornerRadius
#region Constructors
public NavigationView()
{
SetBinding(TextProperty, new Binding(path: "DateTime", stringFormat: "{0:MMMM yyy}", source: this));

InitializeComponent();
}
#endregion
Expand Down
10 changes: 5 additions & 5 deletions XCalendar.Maui/Views/CalendarView.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,17 @@
<VerticalStackLayout.Resources>
<System:Boolean x:Key="FalseValue">False</System:Boolean>

<Converters:IsNullOrEmptyConverter x:Key="IsNullOrEmptyConverter" />
<Converters:LocalizeDayOfWeekAndCharLimitConverter x:Key="LocalizeDayOfWeekAndCharLimitConverter" />
<Converters:IsNullOrEmptyConverter x:Key="IsNullOrEmptyConverter"/>
<Converters:LocalizeDayOfWeekAndCharLimitConverter x:Key="LocalizeDayOfWeekAndCharLimitConverter"/>
</VerticalStackLayout.Resources>

<xc:NavigationView
ControlTemplate="{Binding NavigationViewTemplate, Source={x:Reference CalendarView_Unique}}"
DateTime="{Binding NavigatedDate, Source={x:Reference CalendarView_Unique}}"
LeftArrowCommand="{Binding LeftArrowCommand, Source={x:Reference CalendarView_Unique}}"
LeftArrowCommandParameter="{Binding LeftArrowCommandParameter, Source={x:Reference CalendarView_Unique}}"
ControlTemplate="{Binding NavigationViewTemplate, Source={x:Reference CalendarView_Unique}}"
RightArrowCommand="{Binding RightArrowCommand, Source={x:Reference CalendarView_Unique}}"
RightArrowCommandParameter="{Binding RightArrowCommandParameter, Source={x:Reference CalendarView_Unique}}"
Text="{Binding NavigatedDate, StringFormat='{0:MMMM yyy}', Source={x:Reference CalendarView_Unique}}"/>
RightArrowCommandParameter="{Binding RightArrowCommandParameter, Source={x:Reference CalendarView_Unique}}"/>

<!--#region DayNames-->
<ContentView ControlTemplate="{Binding DayNamesTemplate, Source={x:Reference CalendarView_Unique}}">
Expand Down
8 changes: 8 additions & 0 deletions XCalendar.Maui/Views/NavigationView.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,11 @@ public partial class NavigationView : ContentView
#region Properties

#region Bindable Properties
public DateTime? DateTime
{
get { return (DateTime?)GetValue(DateTimeProperty); }
set { SetValue(DateTimeProperty, value); }
}
public TextTransform TextTransform
{
get { return (TextTransform)GetValue(TextTransformProperty); }
Expand Down Expand Up @@ -121,6 +126,7 @@ public float ArrowCornerRadius
}

#region Bindable Properties Initialisers
public static readonly BindableProperty DateTimeProperty = BindableProperty.Create(nameof(DateTime), typeof(DateTime?), typeof(DayView), System.DateTime.Today);
public static readonly BindableProperty CharacterSpacingProperty = BindableProperty.Create(nameof(CharacterSpacing), typeof(double), typeof(NavigationView), Label.CharacterSpacingProperty.DefaultValue);
public static readonly BindableProperty FontAttributesProperty = BindableProperty.Create(nameof(FontAttributes), typeof(FontAttributes), typeof(NavigationView), FontAttributes.Bold);
public static readonly BindableProperty FontFamilyProperty = BindableProperty.Create(nameof(FontFamily), typeof(string), typeof(NavigationView), Label.FontFamilyProperty.DefaultValue);
Expand Down Expand Up @@ -152,6 +158,8 @@ public float ArrowCornerRadius
#region Constructors
public NavigationView()
{
SetBinding(TextProperty, new Binding(path: "DateTime", stringFormat: "{0:MMMM yyy}", source: this));

InitializeComponent();
}
#endregion
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -926,16 +926,16 @@
<xc:CalendarView
x:Name="FancyCalendarView"
BackgroundColor="{Binding CalendarBackgroundColor}"
LeftArrowCommand="{Binding NavigateCalendarCommand}"
LeftArrowCommandParameter="{Binding BackwardsNavigationAmount}"
DayNamesHeightRequest="{Binding DayNamesHeightRequest}"
Days="{Binding Calendar.Days}"
DaysOfWeek="{Binding Calendar.DayNamesOrder}"
DaysViewHeightRequest="{Binding DaysViewHeightRequest}"
RightArrowCommand="{Binding NavigateCalendarCommand}"
RightArrowCommandParameter="{Binding ForwardsNavigationAmount}"
IsVisible="{Binding CalendarIsVisible}"
LeftArrowCommand="{Binding NavigateCalendarCommand}"
LeftArrowCommandParameter="{Binding BackwardsNavigationAmount}"
NavigatedDate="{Binding Calendar.NavigatedDate}"
RightArrowCommand="{Binding NavigateCalendarCommand}"
RightArrowCommandParameter="{Binding ForwardsNavigationAmount}"
Style="{StaticResource DefaultCalendarViewStyle}">

<xc:CalendarView.NavigationViewTemplate>
Expand All @@ -944,14 +944,14 @@
ArrowBackgroundColor="{Binding NavigationArrowBackgroundColor}"
ArrowColor="{Binding NavigationArrowColor}"
BackgroundColor="{Binding NavigationBackgroundColor}"
BindingContext="{Binding BindingContext, Source={RelativeSource TemplatedParent}}"
DateTime="{Binding DateTime, Source={RelativeSource TemplatedParent}}"
HeightRequest="{Binding NavigationHeightRequest}"
LeftArrowCommand="{Binding LeftArrowCommand, Source={x:RelativeSource TemplatedParent}}"
LeftArrowCommandParameter="{Binding LeftArrowCommandParameter, Source={RelativeSource TemplatedParent}}"
BindingContext="{Binding BindingContext, Source={RelativeSource TemplatedParent}}"
RightArrowCommand="{Binding RightArrowCommand, Source={x:RelativeSource TemplatedParent}}"
RightArrowCommandParameter="{Binding RightArrowCommandParameter, Source={RelativeSource TemplatedParent}}"
HeightRequest="{Binding NavigationHeightRequest}"
Style="{StaticResource DefaultNavigationViewStyle}"
Text="{Binding Text, Source={RelativeSource TemplatedParent}}"
TextColor="{Binding NavigationTextColor}"/>
</ControlTemplate>
</xc:CalendarView.NavigationViewTemplate>
Expand Down
14 changes: 7 additions & 7 deletions XCalendarMauiSample/Views/PlaygroundPage.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -968,16 +968,16 @@
<xc:CalendarView
x:Name="FancyCalendarView"
BackgroundColor="{Binding CalendarBackgroundColor}"
LeftArrowCommand="{Binding NavigateCalendarCommand}"
LeftArrowCommandParameter="{Binding BackwardsNavigationAmount}"
DayNamesHeightRequest="{Binding DayNamesHeightRequest}"
Days="{Binding Calendar.Days}"
DaysOfWeek="{Binding Calendar.DayNamesOrder}"
DaysViewHeightRequest="{Binding DaysViewHeightRequest}"
RightArrowCommand="{Binding NavigateCalendarCommand}"
RightArrowCommandParameter="{Binding ForwardsNavigationAmount}"
IsVisible="{Binding CalendarIsVisible}"
LeftArrowCommand="{Binding NavigateCalendarCommand}"
LeftArrowCommandParameter="{Binding BackwardsNavigationAmount}"
NavigatedDate="{Binding Calendar.NavigatedDate}"
RightArrowCommand="{Binding NavigateCalendarCommand}"
RightArrowCommandParameter="{Binding ForwardsNavigationAmount}"
Style="{StaticResource DefaultCalendarViewStyle}">

<xc:CalendarView.NavigationViewTemplate>
Expand All @@ -986,14 +986,14 @@
ArrowBackgroundColor="{Binding NavigationArrowBackgroundColor}"
ArrowColor="{Binding NavigationArrowColor}"
BackgroundColor="{Binding NavigationBackgroundColor}"
BindingContext="{Binding BindingContext, Source={RelativeSource TemplatedParent}}"
DateTime="{Binding DateTime, Source={RelativeSource TemplatedParent}}"
HeightRequest="{Binding NavigationHeightRequest}"
LeftArrowCommand="{Binding LeftArrowCommand, Source={x:RelativeSource TemplatedParent}}"
LeftArrowCommandParameter="{Binding LeftArrowCommandParameter, Source={RelativeSource TemplatedParent}}"
BindingContext="{Binding BindingContext, Source={RelativeSource TemplatedParent}}"
RightArrowCommand="{Binding RightArrowCommand, Source={x:RelativeSource TemplatedParent}}"
RightArrowCommandParameter="{Binding RightArrowCommandParameter, Source={RelativeSource TemplatedParent}}"
HeightRequest="{Binding NavigationHeightRequest}"
Style="{StaticResource DefaultNavigationViewStyle}"
Text="{Binding Text, Source={RelativeSource TemplatedParent}}"
TextColor="{Binding NavigationTextColor}"/>
</ControlTemplate>
</xc:CalendarView.NavigationViewTemplate>
Expand Down