1
我目前正在使用Windows 10移动应用程序。我有一个简单的日期时间列表,像这样:在FlipView DataContext中绑定不同的ItemSource WPF
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);
}
}
现在我想告诉它,它的flipview,不是只有一天,但也是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中,可以使用绑定RelativeSource={RelativeSource AncestorType={x:Type Window}}, Path=ColumnHeadInfo}
。但我不知道我应该做什么。
但是当我翻转时,它会翻转这三个项目!这绝对不是我所期望的:( –