如何使用c#对象创建新的xaml文件?

时间:2017-02-17 05:26:27

标签: c# wpf xaml

我想使用C#对象创建一个新的.XAML文件。

Ex)我的对象

public class Xaml {
    public string StringID { get; set; }
    public string String { get; set; }
}

Ex)new.Xaml

 List<Xaml> objList=new List<Xaml>();
............................................
        for (int idx = 0; idx < objList.Count; ++idx) {
            //xaml ex) <System:String x:Key="objList.StringID">objList.String</System:String>
        }

我想以这种方式创建一个新文件。

不附加,设定。只需创建新的XAML文件

2 个答案:

答案 0 :(得分:2)

您可以使用XamlWriter.Save方法:

Xaml obj = new Xaml() { StringID = "1", String = "2" };
string xaml = System.Windows.Markup.XamlWriter.Save(obj);
System.IO.File.WriteAllText(@"c:\test\yourfile.xaml", xaml);

答案 1 :(得分:1)

你可以像这样创建一个文件;它没有为xaml指定,但我认为你不需要它。

System.IO.File.WriteAllText("xamlpath.xaml", string.Format("<System:String x:Key=\"{0}\">{1}</System:String>", objList.StringID, objList.String));

如果文件存在,则会被覆盖。如果没有,它将创建一个新文件。

编辑: 或者,它有一个更复杂的解决方案,在this

中有更好的xml-xaml写法