0

我正在尝试创建一个类似于应用程序的 Windows 8 日历。我采用了基本的网格布局模板并对示例数据生成进行了一些更改,以便它生成月份和代表每月每一天的项目。我的问题是日期是垂直而不是水平显示的。试图理解 GridView 和 ListView,但没有运气。

例如:

1 5 8 ..
2 6
3 7
4 8

内嵌显示:

1 2 3 4 5
6 7 8 ...

4

1 回答 1

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 是你的数据模型.. 给它一点时间。

于 2013-07-02T13:42:37.730 回答