2012-01-27 54 views
1

我的應用程序在代碼隱藏中生成動態數量的樣式。我想將這些樣式的特定屬性綁定到依賴項屬性。這在XAML中是可能的,但是我沒有辦法在代碼隱藏方面做到這一點。由於Setter不是FrameworkElement,因此它不提供SetBinding()方法。並且由於Setter.Value沒有依賴項屬性,所以BindingOperations.SetBinding()也不起作用。如何在代碼隱藏中綁定樣式值?

如何

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

看在代碼隱藏?

+0

Silverlight的版本? – AnthonyWJones 2012-01-27 15:14:14

+0

自從版本3開始,Silverlight一直支持多次/動態設置樣式:http://www.wintellect.com/CS/blogs/jprosise/archive/2009/04/08/silverlight-3-s-new- style-enhancements.aspx – 2012-01-27 18:00:09

+0

'Style'可以重新分配,這裏沒有問題。它是否在這種情況下的綁定做了似乎暗示。 – AnthonyWJones 2012-01-27 18:32:00

回答

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 2012-01-27 15:19:32

+0

@AnthonyWJones - Silverlight 4目標但是SL 5插件 – 2012-01-27 15:58:29

+0

自從版本3以來,Silverlight一直支持多次/動態地設置樣式:http://www.wintellect.com/CS/blogs/jprosise/archive/2009/04 /08/silverlight-3-s-new-style-enhancements.aspx – 2012-01-27 17:59:56

相關問題