UWP GridView折叠第一个项目也会折叠其他项目

时间:2020-09-11 13:13:16

标签: c# xaml gridview uwp

我在Gridview中显示项目时遇到问题。 Gridview具有默认属性,第一个项目的高度会影响其他项目的高度。在我的代码中,我使用了集合视图源对项目进行分组。每个组名称都有一个按钮来展开或折叠其内容。当第一个项目合拢时,其他项目也合拢。但是,我只希望被窃听的特定组折叠。

收藏集查看源文件

 <CollectionViewSource IsSourceGrouped="True" x:Key="UsersSource" 
                              Source="{x:Bind GetProjectUsersVM.UsersGroup,Mode=OneWay}"
                              x:Name="UsersSource"></CollectionViewSource>

网格视图

<GridView  Grid.Row="1"  x:Name="UsersList" ItemsSource="{x:Bind UsersSource.View,Mode=OneWay}"
                       IsItemClickEnabled="False" SelectionMode="None"   >
            <GridView.GroupStyle>
                <GroupStyle >
                   <GroupStyle.Panel>
                        <ItemsPanelTemplate>
                            <VariableSizedWrapGrid Orientation="Horizontal"></VariableSizedWrapGrid>
                        </ItemsPanelTemplate>
                    </GroupStyle.Panel>

                    <GroupStyle.HeaderTemplate>
                        <DataTemplate x:DataType="usersModel:UsersGroup">
                           
                                <StackPanel Orientation="Horizontal" Height="auto" Margin="7,0,0,0" Tapped="Expandersymbol_Tapped" >
                                    <TextBlock Text="{x:Bind GroupName,Mode=OneWay}" Foreground="DimGray" Margin="10" FontSize="15"></TextBlock>
                                    <TextBlock Text="&#xE0E5;" Name="Expandersymbol" 
                                           FontSize="9" FontWeight="ExtraBold" Margin="-5,17,0,0"
                                           Tag="{x:Bind GroupName,Mode=OneWay}"  FontFamily="Segoe MDL2 Assets"></TextBlock>
                                </StackPanel>
                               
                        </DataTemplate>

                    </GroupStyle.HeaderTemplate>
                </GroupStyle>
            </GridView.GroupStyle>

            <GridView.ItemsPanel>
                <ItemsPanelTemplate>
                    <ItemsWrapGrid Orientation="Horizontal"/>
                </ItemsPanelTemplate>
            </GridView.ItemsPanel>

           
                <DataTemplate x:DataType="users:UserDetail"  >

                    <StackPanel BorderBrush="LightGray" Grid.Row="1" 
                           Height="auto" Width="250" Visibility="{x:Bind IsVisibility,Mode=OneWay}"
                            >

                      <!-- USERS DETAILS-->
                    </StackPanel>

                </DataTemplate>

            </GridView.ItemTemplate>

        </GridView>

隐藏代码

  private void Expandersymbol_Tapped(object sender, TappedRoutedEventArgs e)
        {
            StackPanel stackPanel = sender as StackPanel;
            TextBlock textblock = VisualTreeHelper.GetChild(stackPanel,1) as TextBlock;
            var Tag = textblock.Tag;
            string Groupname = Tag.ToString();
            if (textblock.Text == "\uE0E5")
            {
                textblock.Text = "\uE097";

            //GetProjectUsersVM.ProjectUsers contains the usersdetails
            
             foreach (UserDetail Uservisibility in 
                                     GetProjectUsersVM.ProjectUsers)
             {   
 
             //Roles are used to Group a Users
             //PortalProjectUserAndProfileRelationship.RoleOrPortalRoleName contains a rolename of the particular user
              
               if(Uservisibility.
PortalProjectUserAndProfileRelationship.RoleOrPortalRoleName == Groupname)
               {
                                    
                 Uservisibility.IsVisibility=Visibility.Collapsed;
                                   

                 }
                }
             }
            else
            {
            textblock.Text = "\uE0E5";
            foreach (UserDetail Uservisibility in GetProjectUsersVM.ProjectUsers)
            {
            if (Uservisibility.
PortalProjectUserAndProfileRelationship.RoleOrPortalRoleName == Groupname)
              {

                  Uservisibility.IsVisibility = Visibility.Visible;

               }
             }
             }
}

Model Output

0 个答案:

没有答案
相关问题