<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="LeaveManagerApp.UpcomingLeavesPage"
xmlns:controls="clr- namespace:XamForms.Controls;assembly=XamForms.Controls.Calendar"
>
<Grid >
<controls:Calendar
x:Name="MyLeaveCalendar"
ShowNumberOfWeek="false"
StartDay="Sunday"
WeekdaysBackgroundColor="DarkBlue"
TitleLabelTextColor="DarkBlue"
SelectedDate="{Binding Date}"
SpecialDates="{Binding Attendances}"
DateCommand="{Binding DateChosen}"
>
</controls:Calendar>
</Grid>
如何以xamarin形式使日历适应屏幕尺寸, 我正在使用xamarin表单的日历控件,尝试了HeightRequest,但无法正常工作。
答案 0 :(得分:1)
这不是默认的Xamarin.Forms控件,它源自此处:https://github.com/rebeccaXam/XamForms.Controls.Calendar
看起来控件以固定的高度呈现。搜索这些问题后,我发现了以下问题:https://github.com/rebeccaXam/XamForms.Controls.Calendar/issues/54
您可以使用以下代码影响行的高度:
yourCalendar.OnEndRenderCalendar += (sender, e) =>
{
(calendar.Content as StackLayout).Children.Last().HeightRequest = 500;
};
您唯一需要做的就是确定合适的高度,自己为它建一个东西,或者在仓库中打开一个问题。
答案 1 :(得分:-1)
您应该发布完整的XAML代码,但是根据Xamarin标准,如何扩展子控件的完整视图。检查以下代码。
<Grid VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand">
<controls:Calendar
x:Name="MyLeaveCalendar"
ShowNumberOfWeek="false"
StartDay="Sunday"
WeekdaysBackgroundColor="DarkBlue"
TitleLabelTextColor="DarkBlue"
SelectedDate="{Binding Date}"
SpecialDates="{Binding Attendances}"
DateCommand="{Binding DateChosen}"
VerticalOptions="FillAndExpand"
HorizontalOptions="FillAndExpand">
</controls:Calendar>
</Grid>
而且,这还取决于Xamarin布局,而您用于XAML设计的布局。以及如何以Xamarin形式使用XAML可扩展语言,请检查链接。 https://docs.microsoft.com/en-us/xamarin/xamarin-forms/xaml/