I recently made a console application in C # that could read a .csv file and write it to the console neatly, however now I want to do this in WPF to make it even more neat.
The previous console application is as follows:
class Program
{
static void Main(string[] args)
{
string[] tokens;
char[] separators = { ';' };
string str = "";
FileStream fs = new FileStream(@"D:\Dokumenter\Skole\6. semester\GUI\Exercises\Exercise2\02 deltagerliste.csv",
FileMode.Open);
StreamReader sr = new StreamReader(fs, Encoding.Default);
while ((str = sr.ReadLine()) != null)
{
tokens = str.Split(separators, StringSplitOptions.RemoveEmptyEntries);
Console.WriteLine(String.Format("{0,-20}", tokens[0]) +
String.Format("{0,-15}", tokens[1]) +
String.Format("{0,-15}", tokens[2]) +
String.Format("{0,-15}", tokens[3]));
}
Console.ReadLine();
}
}
It works great, but I have to admit that it's hard for me to figure out where to start with a WPF application.
So far, I have created the following XAML code with four headers for the .csv file (since it has four columns), and I guess I need to find a way to put the corresponding rows in the corresponding columns.
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Deltagerliste" Height="350" Width="525" WindowStartupLocation="CenterScreen" WindowState="Maximized"
Background="DeepPink"
>
<ListView HorizontalAlignment="Left" Height="320" VerticalAlignment="Top" Width="517">
<ListView.View>
<GridView>
<GridViewColumn Header="First name"/>
<GridViewColumn Header="Last name"/>
<GridViewColumn Header="ID"/>
<GridViewColumn Header="Email"/>
</GridView>
</ListView.View>
</ListView>
My main and initial problem is how I read in a ListView file. I'm new to C # and XAML, and although I know well how to open and read a file in C #, the syntax in XAML is a bit confusing to me.