为FrameworkElementFactory设置字体大小属性

3

我正在尝试使用FrameworkElementFactory在代码后台为listbox设置数据模板,我在数据模板中有一个复选框,只需设置复选框的字体大小。

以下是代码:

FrameworkElementFactory Name = new FrameworkElementFactory(typeof(CheckBox));
Name.SetBinding(CheckBox.ContentProperty, new Binding("Content"));
Name.SetBinding(CheckBox.IsCheckedProperty, new Binding("BooleanValue"));
Name.SetValue(CheckBox.FontSizeProperty, 20);
stackpnl.AppendChild(columnName);

在这段代码中,我无法设置FontSizeProperty属性。
异常发生并显示以下消息:20不是有效的字体大小值。
如果这里有什么问题,请纠正此代码。提前感谢您的帮助。
1个回答

7

FontSizedouble 类型,因此您的值必须作为 double 传递才能正确解包。请尝试以下方法:

Name.SetValue(CheckBox.FontSizeProperty, 20D);

尝试了你建议的方法,没有抛出异常,但字体大小仍然没有改变,我做错了吗? :( - Hafiz H
对我来说,它可以很好地设置 FontSize。你如何使用这个 FrameworkElementFactory?你是否看到了 CheckBox,它本来是正常的,具有预期的 ContentIsChecked 值? - dkozl
是的,它与其他属性一起正常工作...但在FontSize上卡住了。 - Hafiz H
你改变了 CheckBox 的模板吗?我使用你的代码创建了一个简单的 DataTemplate,在我的情况下它设置了所有3个属性。 - dkozl
不,我没有改变任何东西,甚至尝试使用heightproperty和widthproperty。除此之外一切都很好。 - Hafiz H
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接