private void btnEkle_Click(object sender, RoutedEventArgs e)
{
OpenFileDialog dlg = new OpenFileDialog();
dlg.ShowDialog();
if(!String.IsNullOrEmpty(dlg.FileName))
{
Button b = new Button();
b.Content = dlg.SafeFileName;
b.Tag = dlg.FileName;
grdMain.Children.Add(b);
b.Click += b_Click;
b.Width = Double.NaN;
StreamWriter sw = new StreamWriter(@"C:\dosya.txt");
sw.WriteLine(dlg.FileName);
//Bu şekilde text dosyaya yazıp programı açarken de o text dosyayı okuyarak dinamik butonlar oluşturup Tag özelliklerine dosya yollarını aktarırsın
}
}
void b_Click(object sender, RoutedEventArgs e)
{
string fileName = ((Button)sender).Tag.ToString();
Process.Start(fileName);
}