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}
。但我不知道我應該做什麼。
但是當我翻轉時,它會翻轉這三個項目!這絕對不是我所期望的:( –