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 パブリック プロパティがあることも確認してください。「これ」がユーザー コントロールの場合、継承されたメンバーを非表示にしないように、プロパティの名前を変更することをお勧めします。

于 2008-09-16T13:25:29.040 に答える
2

少なくとも、Silverlight 3.1 の時点では、これはもはや問題ではないようです。とにかく、再現できません。

于 2010-02-02T19:13:52.120 に答える