C# 如何在WPF中使用FrameworkElementFactory创建网格并设置行定义?

C# 如何在WPF中使用FrameworkElementFactory创建网格并设置行定义?,c#,wpf,C#,Wpf,我想使用FrameworkElementFactory创建网格模板,但如何定义其RowDefinitions 作为代码 FrameworkElementFactory gridFactory = new FrameworkElementFactory(typeof(Grid)); FrameworkElementFactory RowDefinitionFactory1 = new FrameworkElementFactory(typeof(RowDefinition)); gridFacto

我想使用
FrameworkElementFactory
创建网格模板,但如何定义其
RowDefinition
s

作为代码

FrameworkElementFactory gridFactory = new FrameworkElementFactory(typeof(Grid));
FrameworkElementFactory RowDefinitionFactory1 = new FrameworkElementFactory(typeof(RowDefinition));
gridFactory.AppendChild(RowDefinitionFactory1);
FrameworkElementFactory RowDefinitionFactory2 = new FrameworkElementFactory(typeof(RowDefinition));
gridFactory.AppendChild(RowDefinitionFactory2);
它将抛出异常

由于
应位于

下,因此已弃用:

此类是一种不推荐使用的以编程方式创建模板的方法, 哪些是框架模板的子类,如ControlTemplate或 数据模板;在以下情况下,并非所有模板功能都可用: 您可以使用该类创建模板。推荐的方法 以编程方式创建模板是从字符串或 使用XamlReader类的Load方法的内存流

如果需要以编程方式创建模板,建议使用
XamlReader.Load
XamlReader.Parse

var template = 
    "<Grid>" +
        "<Grid.RowDefinitions>" +
            "<RowDefinition/>" +
            "<RowDefinition/>" +
        "</Grid.RowDefinitions>" +
    "</Grid>";

var markup = XamlReader.Parse(template);
var模板=
"" +
"" +
"" +
"" +
"" +
"";
var markup=XamlReader.Parse(模板);
已被弃用:

此类是一种不推荐使用的以编程方式创建模板的方法, 哪些是框架模板的子类,如ControlTemplate或 数据模板;在以下情况下,并非所有模板功能都可用: 您可以使用该类创建模板。推荐的方法 以编程方式创建模板是从字符串或 使用XamlReader类的Load方法的内存流

如果需要以编程方式创建模板,建议使用
XamlReader.Load
XamlReader.Parse

var template = 
    "<Grid>" +
        "<Grid.RowDefinitions>" +
            "<RowDefinition/>" +
            "<RowDefinition/>" +
        "</Grid.RowDefinitions>" +
    "</Grid>";

var markup = XamlReader.Parse(template);
var模板=
"" +
"" +
"" +
"" +
"" +
"";
var markup=XamlReader.Parse(模板);