我有一个带有包含GridView的ListView的应用程序C#/ WPF。我想获取内容以创建包含所有值的CSV文件。
我做了一些研究,但我只找到了Windows窗体或WPF DataGrid的解决方案。 GridView没什么。
我的清单:
<ListView Grid.Row="1" x:Name="myListView"
BorderBrush="White" HorizontalAlignment="Stretch"
ItemsSource="{Binding Path=myItem}" SelectedItem="{Binding Path=ActualItem}">
<ListView.View>
<GridView x:Name="myGridView">
<GridViewColumn Header="{x:Static p:Resources.NAME}"
DisplayMemberBinding="{Binding Path=Name,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}"
Width="{StaticResource doubleNaN}"/>
<GridViewColumn Header="{x:Static p:Resources.LABEL}"
DisplayMemberBinding="{Binding Path=Label,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}"/>
</GridView>
</ListView.View>
</ListView>
我可以获得标题但没有内容:
System.Text.StringBuilder csv = new System.Text.StringBuilder();
String separator = System.Globalization.CultureInfo.CurrentCulture.TextInfo.ListSeparator;
foreach (System.Windows.Controls.GridViewColumn col in myGridView.Columns)
{
string header = col.Header as String;
if (!String.IsNullOrWhiteSpace(header))
{
csv.Append(header + separator);
}
}
csv.AppendLine();
System.IO.File.WriteAllText(path, csv.ToString());
如何获取制作CSV文件的内容?
答案 0 :(得分:0)
我找到了一个解决方案,可能不是最好的但是有效。
问题是:
从GridView获取标头,因为标头取决于语言
仅获取显示的列
GridView中的项目是tyep choice /t 60 /C Y /d Y /n
,列包含属性。我创建了一个循环,以便从MyItem
获取绑定的标题和属性。第二个循环从GridView
ListView