Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.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
如何使用WPF为ListViewItem使用两个模板_Wpf_Templates_Listview_Listviewitem - Fatal编程技术网

如何使用WPF为ListViewItem使用两个模板

如何使用WPF为ListViewItem使用两个模板,wpf,templates,listview,listviewitem,Wpf,Templates,Listview,Listviewitem,我希望有一个列表视图,其中包含类似于Microsoft Outlook收件箱的项目,这些项目按对话排列(请参见所附照片)。项目可以是包含对话主题的简单文本块(在照片上,这是蓝线),也可以包含ListView标题指定的电子邮件信息。最好将包含对话主题的项目设置为按钮,以便按下此按钮可以显示或隐藏对话中的电子邮件 有什么办法可以做到这一点吗?是否指定两个ListViewItem模板?如果是,我如何在代码中告诉每个项目使用哪个模板 任何帮助都将不胜感激!! 当做 格雷戈 你应该退房。只需谷歌一下 想法

我希望有一个列表视图,其中包含类似于Microsoft Outlook收件箱的项目,这些项目按对话排列(请参见所附照片)。项目可以是包含对话主题的简单文本块(在照片上,这是蓝线),也可以包含ListView标题指定的电子邮件信息。最好将包含对话主题的项目设置为按钮,以便按下此按钮可以显示或隐藏对话中的电子邮件

有什么办法可以做到这一点吗?是否指定两个ListViewItem模板?如果是,我如何在代码中告诉每个项目使用哪个模板

任何帮助都将不胜感激!! 当做 格雷戈

你应该退房。只需谷歌一下

想法是这样的

  • 您将在XAML中定义2-3个模板
  • 创建一个派生自DataTemplateSelector并基于对象字段/类型的类 您将返回相应的模板

  • 屏幕截图中使用的概念称为分组。如果您有一个项目资源,那么可以很容易地使用分组。然后需要为ListCollectionView的属性指定多个

    要定义这些组的外观,您可以查看以下SO帖子:。其他感兴趣的博客文章可能是:,和


    在您的场景中,您可以使用电子邮件对话的标题作为组标题,也可以使用一些其他数据。

    非常感谢您提供这些信息。这完全符合我的目的。非常感谢。