[Xuni:Calendar]日付領域をDataTemplateを利用してカスタマイズした場合に背景色が反映されない。

文書番号 : 81920     文書種別 : 不具合     登録日 : 2016/12/20     最終更新日 : 2017/01/24
文書を印刷する
対象製品
Xuni
発生環境
本現象は、Xamarin.Forms(iOS)で発生します。
状況
修正済み
詳細
日付領域(DaySlot)に、独自の内容を表示する場合に利用するDataTemplateで設定した内容が表示に反映されない。
DataTemplateでCalendarViewDaySlotクラスを指定して、XAMLでレイアウトした内容をDaySlotに表示する以下の例で、最上位のStaclLayoutのBackGroundColorに指定した色がiOSアプリに反映されない。
Andoridアプリには正常に反映される。

サンプルコード
XAML(Xamarin.Forms)
 
<xuni:XuniCalendar x:Name="calendar" VerticalOptions="FillAndExpand">
<xuni:XuniCalendar.DaySlotTemplate>
 <DataTemplate>
  <xuni:CalendarViewDaySlot>
   <xuni:CalendarViewDaySlot.View>
    <!-- カスタムレイアウト ここから-->
    <!-- StackLayout の背景色を指定 BackgroundColor="Blue" -->
    <StackLayout Padding="5" Orientation="Horizontal" x:Name="layout_dayslot" BackgroundColor="Blue">
       <Label x:Name="dateLabel" VerticalOptions="FillAndExpand"HorizontalOptions="FillAndExpand" />
       <StackLayout Orientation="Vertical" Spacing="1" VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand">
         <Image x:Name="imageLeft" VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand" />
         <Image x:Name="imageRight" VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand"/>
       </StackLayout>
    </StackLayout>
    <!-- カスタムレイアウト ここまで -->
   </xuni:CalendarViewDaySlot.View>
  </xuni:CalendarViewDaySlot>
 </DataTemplate>
</xuni:XuniCalendar.DaySlotTemplate>



回避方法
StackLayoutをGridで囲むことで背景色が反映されることを確認しました。

サンプルコード
XAML(Xamarin.Forms)
 
<xuni:XuniCalendar x:Name="calendar" VerticalOptions="FillAndExpand">
<xuni:XuniCalendar.DaySlotTemplate>
 <DataTemplate>
  <xuni:CalendarViewDaySlot>
   <xuni:CalendarViewDaySlot.View>
    <!-- カスタムレイアウト ここから-->
    <Grid>
    <!-- StackLayout の背景色を指定 BackgroundColor="Blue" -->
    <StackLayout Padding="5" Orientation="Horizontal" x:Name="layout_dayslot" BackgroundColor="Blue">
       <Label x:Name="dateLabel" VerticalOptions="FillAndExpand"HorizontalOptions="FillAndExpand" />
       <StackLayout Orientation="Vertical" Spacing="1" VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand">
         <Image x:Name="imageLeft" VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand" />
         <Image x:Name="imageRight" VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand"/>
       </StackLayout>
    </StackLayout>
    </Grid>
    <!-- カスタムレイアウト ここまで -->
   </xuni:CalendarViewDaySlot.View>
  </xuni:CalendarViewDaySlot>
 </DataTemplate>
</xuni:XuniCalendar.DaySlotTemplate>


※追記(2017年1月24日)
この問題はバージョン2016J v3(2.3.20163.164)で修正されました。
Xamarin環境の場合は、NuGetサーバーから最新版を取得して更新できます。