所以我想为一个uwp应用程序制作一个手风琴内容持有者。我在文档中找不到任何类似于我想要的东西。这是不是我需要使用stackpanels和codebehiend等从头开始构建,还是我可以在libary中使用的工具,我还没找到?
这是我想要的一个例子。当用户点击疫苗名称时,包含该疫苗信息的内容框将下拉。如果在展开时单击,它将向上滑动并仅再次显示名称。手风琴。
任何有关此主题的建议,教程和文章都将不胜感激。提前谢谢。
答案 0 :(得分:2)
可用的UWP Community Toolkit具有您可以使用的扩展器控件。您可以从Windows应用商店获取代码示例,源代码在github上。
答案 1 :(得分:0)
我相信您知道如何使用ListView
制作DataTemplate
。如果没有为此搜索文档。
所以我认为问题中最重要的部分是扩展。
首先在DataTemplate中将高度绑定到DataModel,例如:
<Grid Height="{x:Bind Item.Height, Mode = OneWay}">...</Grid>
然后在该箭头上放置Clicked(或Tapped,如果它的控件不支持Clicked)事件,并在这样的代码中处理它(Tapped可能需要不同的参数,但它们会自动出现):
Arrow_Clicked(object sender, RoutedEventArgs e)
{
var item = (sender as Button).DataSource as Item;
if (item.Height == 80)
item.Height = 200;
else
item.Height = 80;
}