1

私は次のリストボックスを持っています:

<ListBox.ItemTemplate>
                        <DataTemplate>
                            <StackPanel Orientation="Horizontal" Margin="0,10,0,10">
                                <TextBlock 
                                    Foreground="Black"
                                    Text="{Binding name}"/>
                                <TextBlock
                                    Foreground="Black"
                                    Text=": "
                                    Visibility="{Binding 
                                        Path=name, 
                                        Converter={StaticResource ServiceOtherConverter}}"/>
                                <TextBlock 
                                    Foreground="Black"
                                    Text="{Binding amount}" 
                                    Visibility="{Binding 
                                        Path=name, 
                                        Converter={StaticResource ServiceOtherConverter}}"/>
                            </StackPanel>
                        </DataTemplate>
                    </ListBox.ItemTemplate>
                </ListBox>

また、私のアプリの背景は白なので、リストアイテムの前景を黒に設定したいと思います。しかし、アイテムを選択しても、デフォルトの前景と同じように、その前景は変更されません。

リストアイテムの前景を黒に変更しても、選択した前景を変更するにはどうすればよいですか?

4

1 に答える 1

1

ListBoxアイテムのスタイルテンプレートレベルで、SelectedVisualStateのフォアグラウンドを変更する必要があります。参考までに、リストボックスのスタイルとテンプレートのmsdnドキュメントを参照してください。Expression Blendを使用すると、非常に簡単になります。アイテムを右クリックして[追加のテンプレートを編集]を選択し、アイテムテンプレートを選択するだけです。次に、[状態]タブから、[選択した状態]を選択し、前景色を変更します。または、テンプレートコードで直接実行することもできます。お役に立てれば。

于 2013-01-09T20:34:54.970 に答える