如何在Windows Phone 8.1中指定所选ListBoxItem的样式?

戴夫·戴夫

当前,当我在列表中选择一个项目时,它会将项目设置为具有蓝色背景。我试图指定一个列表项在选择时应该完全没有背景,即是透明的。

到目前为止,我的ListBox定义为:

<ListBox Name="LogsListBox" Grid.Row="1" Background="Transparent">
    <ListBox.ItemContainerStyle>
        <Style TargetType="ListBoxItem">
            <Setter Property="HorizontalContentAlignment" Value="Stretch" />
            <Setter Property="Background" Value="Transparent" />
        </Style>
    </ListBox.ItemContainerStyle>
</ListBox>

但是当我选择一个列表项时,它仍然显示为蓝色。

选择列表项时,我该怎么做才能使列表项透明?

戴夫·戴夫

我找到了这个答案,它的工作原理是:

https://stackoverflow.com/a/7359024/181771

基本上,我将此粘贴到了UserControl中:

<UserControl.Resources>
    <Style TargetType="ListBoxItem">
        <Setter Property="Background" Value="Transparent"/>
        <Setter Property="BorderThickness" Value="0" />
        <Setter Property="BorderBrush" Value="Transparent" />
        <Setter Property="Padding" Value="0" />
        <Setter Property="HorizontalContentAlignment" Value="Left"/>
        <Setter Property="VerticalContentAlignment" Value="Top"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="ListBoxItem">
                    <Border x:Name="LayoutRoot" 
                            Background="{TemplateBinding Background}" 
                            HorizontalAlignment="{TemplateBinding HorizontalAlignment}" 
                            VerticalAlignment="{TemplateBinding VerticalAlignment}" 
                            BorderBrush="{TemplateBinding BorderBrush}" 
                            BorderThickness="{TemplateBinding BorderThickness}">
                        <VisualStateManager.VisualStateGroups>
                            <VisualStateGroup x:Name="CommonStates">
                                <VisualState x:Name="Normal"/>
                                <VisualState x:Name="MouseOver" />
                                <VisualState x:Name="Disabled">
                                    <Storyboard>
                                        <ObjectAnimationUsingKeyFrames 
                                            Storyboard.TargetName="LayoutRoot" 
                                            Storyboard.TargetProperty="Background">
                                            <DiscreteObjectKeyFrame KeyTime="0" 
                                                                    Value="{StaticResource TransparentBrush}"/>
                                        </ObjectAnimationUsingKeyFrames>
                                        <DoubleAnimation 
                                            Storyboard.TargetName="ContentContainer" 
                                            Storyboard.TargetProperty="Opacity" Duration="0" To=".5" />
                                    </Storyboard>
                                </VisualState>
                            </VisualStateGroup>
                            <VisualStateGroup x:Name="SelectionStates">
                                <VisualState x:Name="Unselected"/>
                                <VisualState x:Name="Selected">
                                    <Storyboard>
                                        <ObjectAnimationUsingKeyFrames 
                                            Storyboard.TargetName="ContentContainer" 
                                            Storyboard.TargetProperty="Foreground">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneAccentBrush}"/>
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                            </VisualStateGroup>
                        </VisualStateManager.VisualStateGroups>
                        <ContentControl x:Name="ContentContainer" 
                                        VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" 
                                        HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"  
                                        Margin="{TemplateBinding Padding}" 
                                        Content="{TemplateBinding Content}" 
                                        ContentTemplate="{TemplateBinding ContentTemplate}" 
                                        Foreground="{TemplateBinding Foreground}" />
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</UserControl.Resources>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Windows Phone 8中设置PhoneTextBox的样式?

来自分类Dev

如何在Windows Phone 8中使用ProgressRing

来自分类Dev

如何在Windows Phone 8中使用Telegram API?

来自分类Dev

如何在Windows Phone 8中旋转图像?

来自分类Dev

如何在Windows Phone 8中过滤可观察的集合?

来自分类Dev

如何在Windows Phone 8应用中创建表结构?

来自分类Dev

如何在Windows Phone 8中安装.xap phonegap build?

来自分类Dev

如何在Windows Phone 8中禁用页面过渡动画?

来自分类Dev

如何在Windows Phone 8中实现深度链接

来自分类Dev

如何在Windows Phone 8中打开pdf文件?

来自分类Dev

如何在Windows Phone 8中解析Json数据

来自分类Dev

如何在Windows Phone 8应用中创建通话功能?

来自分类Dev

如何在Windows Phone 8中使用TargetNullValue?

来自分类Dev

如何在Windows Phone 8中合并音频和视频

来自分类Dev

如何在Windows Phone 8中水平滚动图像

来自分类Dev

如何在Windows Phone 8中筛选可观察的集合?

来自分类Dev

如何在Windows Phone 8中创建项目符号列表?

来自分类Dev

如何在Windows Phone 8中使用Telegram API?

来自分类Dev

如何在Windows Phone 8应用中创建表结构?

来自分类Dev

如何在Windows Phone 8应用中显示帮助

来自分类Dev

如何在Windows Phone 8中通过边框使用按钮

来自分类Dev

如何在Windows Phone 8中制作自适应UI?

来自分类Dev

如何在Windows Phone 8中覆盖不同分辨率的样式?

来自分类Dev

如何在Windows Phone 8中覆盖不同分辨率的样式?

来自分类Dev

如何从Windows Phone 8中的数据绑定设置样式staticresource

来自分类Dev

Windows Phone 8中的NavigationDrawer

来自分类Dev

Windows Phone 8中的getrequeststream

来自分类Dev

Windows Phone 8中的NavigationDrawer

来自分类Dev

如何在Windows Phone 8中使用名称空间“ Windows.Globalization.Calendar”

Related 相关文章

  1. 1

    如何在Windows Phone 8中设置PhoneTextBox的样式?

  2. 2

    如何在Windows Phone 8中使用ProgressRing

  3. 3

    如何在Windows Phone 8中使用Telegram API?

  4. 4

    如何在Windows Phone 8中旋转图像?

  5. 5

    如何在Windows Phone 8中过滤可观察的集合?

  6. 6

    如何在Windows Phone 8应用中创建表结构?

  7. 7

    如何在Windows Phone 8中安装.xap phonegap build?

  8. 8

    如何在Windows Phone 8中禁用页面过渡动画?

  9. 9

    如何在Windows Phone 8中实现深度链接

  10. 10

    如何在Windows Phone 8中打开pdf文件?

  11. 11

    如何在Windows Phone 8中解析Json数据

  12. 12

    如何在Windows Phone 8应用中创建通话功能?

  13. 13

    如何在Windows Phone 8中使用TargetNullValue?

  14. 14

    如何在Windows Phone 8中合并音频和视频

  15. 15

    如何在Windows Phone 8中水平滚动图像

  16. 16

    如何在Windows Phone 8中筛选可观察的集合?

  17. 17

    如何在Windows Phone 8中创建项目符号列表?

  18. 18

    如何在Windows Phone 8中使用Telegram API?

  19. 19

    如何在Windows Phone 8应用中创建表结构?

  20. 20

    如何在Windows Phone 8应用中显示帮助

  21. 21

    如何在Windows Phone 8中通过边框使用按钮

  22. 22

    如何在Windows Phone 8中制作自适应UI?

  23. 23

    如何在Windows Phone 8中覆盖不同分辨率的样式?

  24. 24

    如何在Windows Phone 8中覆盖不同分辨率的样式?

  25. 25

    如何从Windows Phone 8中的数据绑定设置样式staticresource

  26. 26

    Windows Phone 8中的NavigationDrawer

  27. 27

    Windows Phone 8中的getrequeststream

  28. 28

    Windows Phone 8中的NavigationDrawer

  29. 29

    如何在Windows Phone 8中使用名称空间“ Windows.Globalization.Calendar”

热门标签

归档