将样式等应用于Windows Phone 8中的选定LIstBox项

时间:2014-03-20 21:38:36

标签: xaml windows-phone-8 listbox

考虑一个简单的列表框:

        <ListBox ItemsSource="{Binding}">
            <ListBox.Resources>
                <SolidColorBrush x:Key="MyNormalForegroundBrush" Color="White"/>
                <SolidColorBrush x:Key="MyNormalBackgroundBrush" Color="Black"/>
                <SolidColorBrush x:Key="MySelectedForegroundBrush" Color="Purple"/>
                <SolidColorBrush x:Key="MySelectedBackgroundBrush" Color="Yellow"/>
            </ListBox.Resources>

            <ListBox.ItemTemplate>
                <DataTemplate>
                    <Border BorderBrush="{StaticResource MyNormalForegroundBrush}"  BorderThickness="5" Background={StaticResource MyNormalBackgroundBrush}>
                        <TextBlock Text="{Binding}" Foreground="{StaticResource MyNormalForegroundBrush}" />
                    </Border>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>

如何获取边框画笔,背景和文本块文本前景以更改当前所选项目的颜色?

1 个答案:

答案 0 :(得分:0)

这是为您提供的方式之一,当所选项目发生变化时,获取当前所选项目,然后find the control in DataTemplate by element name,获得控件后,您可以更改控件样式