テキストファイルを読むには、StreamReaderをを使用することができます:DataGridのヘッダーの
using (var reader = new StreamReader(File.OpenRead("c:/yourfile.txt"),
Encoding.GetEncoding("iso-8859-1")))
{
while (!reader.EndOfStream)
{
var line = reader.ReadLine();
var values = line.Split(';'); // replace ';' by the your separator
string header1 = values[0];
string header2 = values[1];
string header3 = values[2];
//...
}
}
を、あなたはプロパティに、各ヘッダをバインドする必要があります。 * .csファイル
private string header1;
public string Header1
{
get
{
return header1;
}
set
{
this.header1 = value;
this.NotifyPropertyChanged("Header1");
}
}
編集 * .csファイル
public MainWindow()
{
InitializeComponent();
this.DataContext = new MainViewModel();
Layout.DataContext = this.DataContext;
}
の後ろ
*の.xaml
<Grid Background="White" x:Name="Layout">
<DataGrid x:Name="grid" ItemsSource="{Binding MyCollection}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding FirstName}">
<DataGridTextColumn.Header>
<TextBlock DataContext="{Binding ElementName=Layout, Path=DataContext}" Text="{Binding Header1}"/>
</DataGridTextColumn.Header>
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
</Grid>
コードとViewModelに :あなたはこの実装を試すことができますあなたはMVVMを使用していない場合は、この方法を試すことができます。
* .csファイル
string Header1 = string.Empty;
using (var reader = new StreamReader(File.OpenRead("c:/yourfile.txt"),
Encoding.GetEncoding("iso-8859-1")))
{
while (!reader.EndOfStream)
{
var line = reader.ReadLine();
var values = line.Split(';'); // replace ';' by the your separator
Header1 = values[0];
//...
}
}
grid.Columns[0].Header = Header1;
*の.xaml
<DataGrid.Columns>
<DataGridTextColumn Width="150" Binding="{Binding A}"/>
<DataGrid.Columns/>
あなたはMMVMを実装していますか? – Amine
私の回答を更新 – Amine
あなたの助けになるあなたのxamlとコードを共有することができます – Amine