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