0
我有一个列表框控件添加到我的布局,如下面的代码片段所示。Silverlight Listbox在运行时的更新风格
<ListBox x:Name="lstFilters" ItemsSource="{Binding CustomerCollection, Source={StaticResource VMCustomers}}" ScrollViewer.VerticalScrollBarVisibility="Disabled" Height="200" Margin="12,20,235,80">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<HyperlinkButton Content="{Binding Name}" Style="{StaticResource styleFont}"></HyperlinkButton>
<TextBlock x:Name="txtFilterCount" Text="{Binding ContactNumber, Mode=TwoWay}"></TextBlock>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<Style x:Key="styleFont" TargetType="HyperlinkButton">
<Setter Property="FontFamily" Value="Verdana"></Setter>
</Style>
我写了一个样式,将字体系列设置为HyperlinkButton控件。 现在我想从后面的代码中设置这个fontfamily,因为我在运行时获取了这个值。所以如何改变它,还有一件事我想要在构造函数或页面加载事件中做到这一点,即我想只设置一次,它应该适用于所有的项目,即如果有100个项目,那么它应该适用于所有100个项目。所以它使得它更快,而不是始终绑定任何事件。
嘿HIE感谢您的答复。我尝试了你建议的方式,但无法使代码正常工作。你能告诉我“ListFont”是一个属性吗?我在“AncestorType”中收到错误,它不能作为intellisense中的相对源。如果可能的话你可以解释一下,或者只是分享一段代码,以便我有一个清晰的理解。 – AKROCKS 2012-01-18 14:05:11
我不确定是否可以将样式绑定到SL 4及更低版本中的父属性。我发现这篇文章允许设置控件绑定,但它不适用于样式:http://blog.thekieners.com/2010/09/08/relativesource-binding-with-findancestor-mode-in-silverlight / – Slugart 2012-01-20 08:50:25