如何以Xamarin形式更改Calendar控件的高度?

时间:2018-07-31 13:04:43

标签: xamarin.forms calendar

    <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,但无法正常工作。

2 个答案:

答案 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/