我正在尝试创建像应用程序一样的Windows 8日历。我采用了基本的网格布局模板,并对示例数据生成进行了一些更改,以便生成月份和表示每月日常工作的项目。我的问题是日期垂直显示而不是水平显示。试图理解GridView和ListView,但没有运气。
例如:
1 5 8 ..
2 6
3 7
4 8
代替显示:
1 2 3 4 5
6 7 8 ......
答案 0 :(得分:0)
<CollectionViewSource
x:Name="groupedItemsViewSource"
IsSourceGrouped="true"
ItemsPath="SubjectListOfCategory"
d:Source="{Binding Categories, Source={d:DesignInstance Type=data:SelectSubjectViewModel, IsDesignTimeCreatable=True}}" />
首先将collectionViewSource设置为xaml中的数据源,如上所述。和你的网格视图
x:Name="itemGridView"
ItemsSource="{Binding Source={StaticResource groupedItemsViewSource}}"
SelectionMode="Multiple"
SelectionChanged="itemGridView_SelectionChanged" >
<GridView.ItemTemplate >
<DataTemplate >
<Border BorderThickness="1" BorderBrush="#7b579b" >
<Grid Name="tile" Background="#FFFFFF" Height="150" Width="150" >
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<TextBlock x:Name="hello2" Text="{Binding SubjectName}" Foreground="White" FontSize="15" Grid.Row="0" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="8" FontWeight="ExtraLight" />
</Grid>
</Border>
</DataTemplate>
</GridView.ItemTemplate>
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel Orientation="Horizontal" Margin="98,0,0,0"/>
</ItemsPanelTemplate>
</GridView.ItemsPanel>
<GridView.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<Grid Margin="0,0,0,6" >
<Button
AutomationProperties.Name="Group Title"
Style="{StaticResource TextPrimaryButtonStyle}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding CategoryName}" Margin="2" FontSize="30" Foreground="White" FontWeight="Light" />
</Button>
</Grid>
</DataTemplate>
</GroupStyle.HeaderTemplate>
<GroupStyle.Panel>
<ItemsPanelTemplate>
<VariableSizedWrapGrid Orientation="Vertical" Margin="0,0,80,0" MaximumRowsOrColumns="3" />
</ItemsPanelTemplate>
</GroupStyle.Panel>
</GroupStyle>
</GridView.GroupStyle>
</GridView>
现在在xaml.cs中执行此操作。
objselectsubjectViewmodel = new SelectSubjectViewModel();
groupedItemsViewSource.Source = objselectsubjectViewmodel.Categories;
this.DataContext = this;
这里objselectsubjectViewmodel.Categories是你的数据模型.. 只是给它一点时间。