如何以MVVM方式将DataGrid的内容导出到CSV文件中?我的DataGrid包含55列。所有列都可以重新排序或隐藏。
列顺序和可见性由视图模型控制
<DataGridTextColumn Header="File Size"
DisplayIndex="{Binding Source={StaticResource Spy}, Path=DataContext.Columns.FileSize.Index, FallbackValue=8, Mode=TwoWay}"
Visibility="{Binding Source={StaticResource Spy}, Path=DataContext.Columns.FileSize.IsVisible, Converter={StaticResource VisibilityConverter}}"
Binding="{Binding Sample.FileSize, TargetNullValue={StaticResource NullString}}"/>
2条答案
按热度按时间nxagd54h1#
您可以修改Scott Hanselman Blog Post about "From Linq To CSV"中的解决方案,使其仅使用未隐藏的列,并按照与ViewModel中相同的顺序对列进行排序。
jtjikinw2#
如果使用MVVM,那么ViewModel必须包含Grid的所有更改。例如,你应该创建一个
button
和Command
,其中Execute
的body看起来像这样:参数应该是或您的
DataGrid
,或您的源代码。