В настоящее время я работаю с мобильным приложением Windows 10. У меня есть простой список DateTime, например:
public DateTime NextDate { get; set;}
public DateTime PrevDate { get; set;}
// list of date
public List<DateTime> DateList { get; set; }
protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
DateTime beginDate = new DateTime(2015, 9, 22);
DateTime endDate = DateTime.Today;
DateList = new List<DateTime>();
for (DateTime date = beginDate; date < endDate; date = date.AddDays(1))
{
DateList.Add(date);
}
}
Теперь я хочу показать ему флип-просмотр не только за один день, но и за 3 дня: текущий день, предыдущий день и следующий день.
Вот мой код XAML:
<FlipView x:Name="dateFlipView" BorderBrush="Azure" Height="100"
ItemsSource="{Binding DateList}" SelectionChanged="dateFlipView_SelectionChanged">
<FlipView.ItemTemplate>
<DataTemplate>
<!-- show previous date -->
<Canvas Height="100" Width="100" Background="#FF7683FF">
<StackPanel Width="100" HorizontalAlignment="Left">
<TextBlock Text="{Binding Day}" Style="{StaticResource HeaderTextBlockStyle}" HorizontalAlignment="Center"/>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
<TextBlock Text="{Binding Month}" Margin="0,0,8,0" Style="{StaticResource CaptionTextBlockStyle}"/>
<TextBlock Text="{Binding Year}" HorizontalAlignment="Right" Style="{StaticResource CaptionTextBlockStyle}"/>
</StackPanel>
<StackPanel>
<TextBlock Text="{Binding Day}"/>
</StackPanel>
</StackPanel>
</Canvas>
<!-- show next date -->
</DataTemplate>
</FlipView.ItemTemplate>
</FlipView>
Приведенный выше код просто показывает только одну дату.
Я нашел решение, позволяющее добавить 2 свойства DateTime, NextDate
и PrevDate
, а в FlipView можно использовать Binding RelativeSource={RelativeSource AncestorType={x:Type Window}}, Path=ColumnHeadInfo}
. Но я пока точно не знаю, что мне делать.