Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在ListView中对项目进行分组-Windows应用商店应用_C#_Xaml_Listview_Windows Runtime_Windows Store Apps - Fatal编程技术网

C# 在ListView中对项目进行分组-Windows应用商店应用

C# 在ListView中对项目进行分组-Windows应用商店应用,c#,xaml,listview,windows-runtime,windows-store-apps,C#,Xaml,Listview,Windows Runtime,Windows Store Apps,我正在努力做到这一点 但到目前为止,我可以在列表中列出所有蓝色项目,而不需要将它们分开。 这就是我用的 XAML: Page.xaml <Grid Grid.Row="1" Grid.RowSpan="2" Background="White"> <Grid.ColumnDefinitions> <ColumnDefinition Width="875" /> <Co

我正在努力做到这一点

但到目前为止,我可以在列表中列出所有蓝色项目,而不需要将它们分开。 这就是我用的

XAML:

Page.xaml

<Grid Grid.Row="1" Grid.RowSpan="2" Background="White">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="875" />
                <ColumnDefinition Width="385"/>
            </Grid.ColumnDefinitions>
            <ListView Grid.Column="0" ItemsSource="{Binding MyMeets}" Style="{StaticResource MyMeetingsRowUsers}" ></ListView>
        </Grid>

风格:

<DataTemplate x:Key="MyMeetingUser">
    <Grid Margin="0,0,0,10" >
        <Grid.RowDefinitions>
            <RowDefinition></RowDefinition>
        </Grid.RowDefinitions>
        <StackPanel Height="78" Width="875">
            <StackPanel.Background>
                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0,1"  >
                    <GradientStop Color="#FF0072C6" Offset="0"/>
                    <GradientStop Color="#FF008FD4" Offset="1"/>
                </LinearGradientBrush>
            </StackPanel.Background>
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="90"/>
                    <ColumnDefinition Width="65"/>
                    <ColumnDefinition Width="388"/>
                    <ColumnDefinition Width="*"/>
                </Grid.ColumnDefinitions>

                <TextBlock x:Name="MyMeetingRowDayNumber" Grid.Column="0" Text="{Binding MyMeetingRowDayNumber}" Style="{StaticResource MyMeetingsRowDay}"   />
                <Grid Grid.Column="1">
                    <Grid.RowDefinitions>
                        <RowDefinition />
                        <RowDefinition />
                    </Grid.RowDefinitions>
                    <TextBlock Grid.Row="0" x:Name="MyMeetingRowDayText" Text="{Binding MyMeetingRowDayText}" Style="{StaticResource MyMeetingsRowDayText}" Height="28"></TextBlock>
                    <TextBlock Grid.Row="1" x:Name="MyMeetingRowDayHour" Text="{Binding MyMeetingRowDayHour}" Style="{StaticResource MyMeetingsRowDayHour}" ></TextBlock>
                </Grid>
                <TextBlock Grid.Column="2" x:Name="MyMeetingsRowTitle" Text="{Binding MyMeetingsRowTitle}" Style="{StaticResource MyMeetingsRowTitle}" />
            </Grid>
        </StackPanel>
    </Grid>
</DataTemplate>

<Style x:Key="MyMeetingsRowUsers" TargetType="ListView" >
    <Setter Property="HorizontalContentAlignment" Value="Right" />
    <Setter Property="VerticalContentAlignment" Value="Center" />
    <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Hidden" />
    <Setter Property="Background" Value="Transparent"/>
    <Setter Property="TabNavigation" Value="Local"/>
    <Setter Property="IsHoldingEnabled" Value="True"/>
    <Setter Property="Margin" Value="44,36,0,0" />
    <Setter Property="ItemTemplate" Value="{StaticResource MyMeetingUser}" />
    <Setter Property="Transitions">
        <Setter.Value>
            <TransitionCollection>
                <EntranceThemeTransition />
            </TransitionCollection>
        </Setter.Value>
    </Setter>
</Style>

在代码背后我有这个

private ObservableCollection<MeetingRow<Meeting>> myMeet = new ObservableCollection<MeetingRow<Meeting>>();
    public ObservableCollection<MeetingRow<Meeting>> MyMeets
    {
        get { return myMeet; }
        set { SetProperty(ref myMeet, value); }
    }
私有ObservableCollection myMeet=新ObservableCollection();
公众可观察收集MyMeetings
{
获取{return myMeet;}
set{SetProperty(ref myMeet,value);}
}

我在OnNavigatedTo上填写的。正如我所说,我得到了蓝色的行,但我不知道如何添加灰色的行来根据日期将它们分开。

我设法用这个方法找到了一个解决方案

似乎CollectionViewSource是一个不错的选择。

可能重复的