2008-09-16 6 views
7

私はここに何かのボートを紛失しています。これは頭​​を育て続けて、何が起こっているのか分からないので、ここの私の家が助けてくれることを願っています。Silverlightでのプログラムによるバインド

Silverlightで作業しているときに、C#コードでバインディングを作成すると、アプリケーションの実行中にバインディングが保持されることはありません。私のxamlからの宣言的なバインディングは大丈夫だと思われますが、C#でバインディングを作成すると間違ったことをしています。私は、ぼんやりと明白な何かが欠けていることを願っています。

+0

「粉砕された」とはどういう意味ですか?バインディングは全く機能しませんか? –

+0

ええ、それは実行時に何の効果もないようです。 – MojoFilter

+10

私は、「家庭的」という言葉の使用のためにあなたに投票するように誘惑されます。 :-) –

答えて

2

少なくともSilverlight 3.1のように見えますが、これはもはや問題ではありません。とにかくそれを再現することはできません。

+0

私はそれのようなものを再現できます http://stackoverflow.com/questions/3217740/silverlight-4-setbinding-not-working – cmaduro

7

ちょうどあなたが投稿した正確なコードを試したところ、いくつかの変更が加えられて正常に機能しました。あなたがバインドしたいテキストブロックではないという問題が、SetBinding呼び出しで使用している要素だと思います。

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

「this」にdouble型のFontSizeパブリックプロパティがあることを確認してください。 "this"がユーザーコントロールの場合、継承されたメンバーを隠さないようにプロパティの名前を変更することをお勧めします。

+0

あなたはそうです、それは実際にコピー/ペーストのアーティファクトです。この場合、 'this'はカスタムコントロールであり、継承したFontSizeプロパティを参照しています。私はこれがすべて起こっているのを見ます。私はそれが実際にバインディングを取り除くことをやっているのではないかと心配していますが、私はそれを特定できません。 – MojoFilter

関連する問題