首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在WPF中用FrameworkElementFactory创建网格和设置RowDefinitations?

如何在WPF中用FrameworkElementFactory创建网格和设置RowDefinitations?
EN

Stack Overflow用户
提问于 2013-07-04 10:43:46
回答 1查看 930关注 0票数 0

我想使用FrameworkElementFactory创建一个网格模板,但是如何定义它的RowDefinition

作为代码

代码语言:javascript
复制
FrameworkElementFactory gridFactory = new FrameworkElementFactory(typeof(Grid));
FrameworkElementFactory RowDefinitionFactory1 = new FrameworkElementFactory(typeof(RowDefinition));
gridFactory.AppendChild(RowDefinitionFactory1);
FrameworkElementFactory RowDefinitionFactory2 = new FrameworkElementFactory(typeof(RowDefinition));
gridFactory.AppendChild(RowDefinitionFactory2);

它将抛出异常...

因为<RowDefinitation>应该在<Grid.RowDefinitations>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-04 10:57:42

FrameworkElementFactory已被弃用:

此类是一种以编程方式创建模板的弃用方法,这些模板是FrameworkTemplate的子类,如ControlTemplate或DataTemplate;使用此类创建模板时,并非所有模板功能都可用。以编程方式创建模板的推荐方法是使用XamlReader类的load方法从字符串或内存流加载XAML。

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

代码语言:javascript
复制
var template = 
    "<Grid>" +
        "<Grid.RowDefinitions>" +
            "<RowDefinition/>" +
            "<RowDefinition/>" +
        "</Grid.RowDefinitions>" +
    "</Grid>";

var markup = XamlReader.Parse(template);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17461087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档