如何解决UWP GridView折叠第一个项目也会折叠其他项目
我在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" Tapped="Expandersymbol_Tapped" >
<TextBlock Text="{x:Bind GroupName,Mode=OneWay}" Foreground="DimGray" Margin="10" FontSize="15"></TextBlock>
<TextBlock Text="" Name="Expandersymbol"
FontSize="9" FontWeight="ExtraBold" Margin="-5,17,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;
}
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。