具有动态列的DataGrid TSV文件

时间:2018-02-19 00:21:57

标签: c# wpf csv wpfdatagrid

我正在尝试在WPF中创建一个DataGrid,以便为一些制表符分隔文件创建一个编辑器。 TSV的第一行包含列。经过一些研究,我发现了这段代码 Import data from text file and display in datagrid 这工作得很好,但是,当文件加载时,窗口变得没有响应。或者当我尝试再次调整窗口大小(或向下滚动)时,加载它需要时间 这是来自MainWindow.xaml

 <DataGrid x:Name="dtGrid" Grid.Row="1" AutoGenerateColumns="True" ItemsSource="{Binding}"/>

Mainwindow.cs

dtGrid.DataContext = Helper.DataTableFromTextFile("tsv.txt", '\t');

PS。我也试过这个。

dtGrid.ItemsSource = Helper.DataTableFromTextFile("tsv.txt", '\t').DefaultView;

有什么想法吗?

编辑:

<Window x:Class="MyFileEdit.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:MyFileEdit"
        mc:Ignorable="d"
        Title="File Edit" Height="350" Width="525" Loaded="Window_Loaded">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="16*" MinHeight="16" MaxHeight="16"/>
            <RowDefinition Height="303*"/>
        </Grid.RowDefinitions>
        <DataGrid x:Name="dtGrid" Grid.Row="1" AutoGenerateColumns="True" ItemsSource="{Binding}"/>
    </Grid>
</Window>

0 个答案:

没有答案