0
私は、以下のコードスニペットで示すように、リストボックスコントロールをレイアウトに追加しました。ランタイムでのSilverlightリストボックスの更新スタイル
<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をコードの背後から設定したいと思います。それを変更する方法ともう1つのことをコンストラクタやページのロードイベントでこれをやりたいのです。つまり、これを一度だけ設定したいのですが、すべてのアイテムに適用する必要があります。つまり、100個のアイテムがあれば、 100項目。どんなイベントにも常にバインドするのではなく、より速くなります。
ねえ返信用HIEのおかげでのみ有効です。私はあなたが提案した方法を試しましたが、コードを動作させることはできませんでした。 "ListFont"はプロパティ権利ですが、 "AncestorType"でエラーが出ています。intellisenseの相対的なソースとして利用できません。可能であれば、コードを説明したり分かち合うだけで、わかりやすいことができます。 – AKROCKS
SL 4以下の親プロパティにスタイルをバインドすることが可能かどうかはわかりません。私はコントロールのバインディングを設定することができますが、それはスタイルのために動作しませんこの記事を発見:http://blog.thekieners.com/2010/09/08/relativesource-binding-with-findancestor-mode-in-silverlight / – Slugart