Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/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
具有类似Outlook 2013邮件列表样式的WPF Datagrid_Wpf_Styles_Datatemplate - Fatal编程技术网

具有类似Outlook 2013邮件列表样式的WPF Datagrid

具有类似Outlook 2013邮件列表样式的WPF Datagrid,wpf,styles,datatemplate,Wpf,Styles,Datatemplate,我是WPF的新手。我想设计一个类似于outlook 2013中邮件列表的Datagrid,具有相同的样式和功能 在outlook 2013中,Datagrid模板的宽度减小时会发生更改,扩展时会变为一种线性模式 我试图用两个单独的Datagrid控件实现这种行为(一次只能看到一个控件),但是,我遇到了很多问题。一个网格中发生的更改必须反映在另一个网格上。我认为这是一种间接的方法。我可以通过使用单个控件来实现这一点 我不确定您是否熟悉触发器,但是我建议您根据控件的宽度属性对样式应用触发器,并按您希

我是WPF的新手。我想设计一个类似于outlook 2013中邮件列表的Datagrid,具有相同的样式和功能

在outlook 2013中,Datagrid模板的宽度减小时会发生更改,扩展时会变为一种线性模式


我试图用两个单独的Datagrid控件实现这种行为(一次只能看到一个控件),但是,我遇到了很多问题。一个网格中发生的更改必须反映在另一个网格上。我认为这是一种间接的方法。我可以通过使用单个控件来实现这一点

我不确定您是否熟悉
触发器
,但是我建议您根据控件的
宽度属性对
样式
应用
触发器
,并按您希望的方式更改其样式

这里有一个关于Josh Smith的
模板
触发器
的非常好的教程,您可以从中学习。事实上,如果您想了解更多关于WPF最佳实践的信息,请查看本教程的所有部分

同时,由于您正在寻找一个
触发器
值作为一个范围而不是某个特定的值,例如当ListView的宽度<300
时(伪)
触发器,因此您需要在触发器中使用自定义转换器

对于此类转换器的示例,请查看此问题


您能显示您的代码吗?我很高兴您发现这个答案很有用。如果您遇到更多困难,请随时向我们通报最新情况。您可以在问题下方添加更新行,并随时添加额外信息。