How to show as a Dialog in Xamarin.Forms DatePicker(SfPicker)
11 Aug 20224 minutes to read
DatePicker can be rendered as a dialog by setting the SfDatePicker.PickerMode
property to Dialog
. The default value of SfDatePicker.PickerMode
property is "Default"
.
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:DatePickerSample"
xmlns:syncfusion="clr-namespace:Syncfusion.XForms.Pickers;assembly=Syncfusion.SfPicker.XForms"
x:Class="DatePickerSample.MainPage">
<ContentPage.Content>
<syncfusion:SfDatePicker x:Name="DatePicker"
PickerMode="Dialog"/>
</ContentPage.Content>
</ContentPage>
using Syncfusion.XForms.Pickers;
using Xamarin.Forms;
namespace DatePickerSample
{
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
SfDatePicker datePicker = new SfDatePicker()
{
PickerMode = DatePickerMode.Dialog
};
this.Content = datePicker;
}
}
}
The DatePicker can be opened programmatically by setting the SfDatePicker.IsOpen
property to true. Default value of SfDatePicker.IsOpen
is “false”.
Note: This property is automatically changed to false when you close the dialog by clicking outside of the dialog.
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:DatePickerSample"
xmlns:syncfusion="clr-namespace:Syncfusion.XForms.Pickers;assembly=Syncfusion.SfPicker.XForms"
x:Class="DatePickerSample.MainPage">
<ContentPage.Content>
<Grid>
<syncfusion:SfDatePicker x:Name="datepicker"
PickerMode="Dialog"/>
<Button Text="Open Picker"
x:Name="pickerButton"
Clicked="Button_Clicked"
HorizontalOptions="Center"
VerticalOptions="Center"
HeightRequest="50"
WidthRequest="100"/>
</Grid>
</ContentPage.Content>
</ContentPage>
using Xamarin.Forms;
namespace DatePickerSample
{
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
}
private void Button_Clicked(object sender, System.EventArgs e)
{
datepicker.IsOpen = true;
}
}
}