7

孩子们,我在这里错过了一些东西。这一直在抬头,我不知道这是怎么回事,所以我希望我的家人们能帮上忙。

在 Silverlight 中工作时,当我在我的 c# 代码中创建绑定时,它们在应用程序运行时永远不会停止。我的 xaml 中的声明性绑定似乎没问题,但是当我在 C# 中创建绑定时我做错了。我希望我遗漏了一些非常明显的东西。这是一个典型的绑定被粉碎:

TextBlock tb = new TextBlock();
Binding b = new Binding("FontSize");
b.Source = this;
tb.SetBinding(TextBlock.FontSizeProperty, b);
4

2 回答 2

7

我刚刚尝试了您刚刚发布的确切代码,它运行良好,并进行了一些更改。我认为问题在于您用于 SetBinding 调用的元素不是您要绑定的文本块。它应该是:

TextBlock tb = new TextBlock();
Binding b = new Binding("FontSize");
b.Source = this;
tb.SetBinding(TextBlock.FontSizeProperty, b);

确保在“this”上还有一个 double 类型的 FontSize 公共属性。如果“this”是用户控件,我建议重命名该属性,以免隐藏继承的成员。

于 2008-09-16T13:25:29.040 回答
2

至少从 Silverlight 3.1 开始,这不再是问题。无论如何,我无法复制它。

于 2010-02-02T19:13:52.120 回答