UWP 的可折叠内容控件





5.00/5 (1投票)
这是一个适用于 UWP 平台的折叠内容控件。
引言
这是一个内容控件,你可以通过点击其标题来折叠和展开它。
背景
我最近完成的一个项目是为企业应用编写设计。就像大多数企业应用一样,这个应用有一个需要折叠和展开的列表。但不幸的是,UWP 中没有现成的控件(就像 WPF 中那样)。所以我不得不从头开始创建一个。考虑到时间限制,我决定使用用户控件。猜猜怎么着,最终的结果还不错。所以我决定与社区分享它。
Using the Code
你可以将此控件与任何类型的框架元素一起使用。它不仅仅局限于列表。你只需要将要显示的内容分配给 ‘FoldableContent
’ 属性即可,如下所示:
<controls:FoldableContentControl.FoldableContent>
<ListView ItemsSource="{x:Bind MyItemList}">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel BorderBrush="LightGray"
BorderThickness="0.5">
<TextBlock Text="{Binding}"
HorizontalAlignment="Center"
Padding="10"/>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
<Setter Property="Padding" Value="0"/>
</Style>
</ListView.ItemContainerStyle>
</ListView>
</controls:FoldableContentControl.FoldableContent>
你可以通过更改 ‘HeaderText
’ 属性来指定标题中的内容。
你可以指定在内容中没有项目时要显示的内容。只需将框架元素添加到 ‘EmptyContent
’ 属性或更改 ‘EmptyText
’ 属性即可。要显示此空状态,必须将 ‘DisplayEmpty
’ 属性设置为 true
(如果是一个 ItemsControl
,只需将 ‘Count
’ 属性与值转换器绑定即可)。
关注点
你可以在我的 GitHub 仓库中找到源代码。