2012-01-27 9 views
1

私のアプリケーションは、コードビハインドで動的なスタイルの数を生成します。これらのスタイルの特定のプロパティを依存プロパティにバインドしたいと思います。 XAMLでも可能ですが、コードビハインドでそれを行う方法は見つけられませんでした。 SetterはFrameworkElementではないため、SetBinding()メソッドを提供しません。また、Setter.Valueは依存性プロパティではないため、BindingOperations.SetBinding()も機能しません。コードビハインドでスタイル値をバインドする方法はありますか?

はどのようにコードビハインドで

<Style TargetType="TextBlock"> 
    <Setter Property="FontSize" Value="{Binding FontSize}"/> 
</Style> 

見て?このよう

+0

Silverlightのバージョン? – AnthonyWJones

+0

Silverlightは、バージョン3以降、スタイルの設定を複数回/動的にサポートしています。http://www.wintellect.com/CS/blogs/jprosise/archive/2009/04/08/silverlight-3-s-new- style-enhancements.aspx –

+0

ここでは 'Style'を再割り当てすることはできません。この場合、拘束力が暗示されているように見えるかどうか。 – AnthonyWJones

答えて

1

this.DataContext = new Thing { FontSize = 5.5 }; 

Style style = new Style(typeof(TextBlock)); 
style.Setters.Add(
    new Setter(TextBlock.FontSizeProperty, new Binding("FontSize"))); 

textBlock1.Style = style; 
+0

これをどのバージョンのSilverlightでテストしましたか?私はこれがSL4で動作するとは思わない。 – AnthonyWJones

+0

@AnthonyWJones - Silverlight 4ターゲットだがSL 5プラグイン –

+0

Silverlightは、バージョン3以降、スタイルの設定を複数回/動的にサポートしています。http://www.wintellect.com/CS/blogs/jprosise/archive/2009/04 /08/silverlight-3-s-new-style-enhancements.aspx –