Windows Phone 7: Highlight Selected Listbox item

后端 未结 1 1533
一生所求
一生所求 2020-12-06 06:17

I have the following XAML (simple list box with custom DataTemplate). I\'m trying to figure out how to highlight the selected item (maybe background colour change). I figure

相关标签:
1条回答
  • 2020-12-06 06:37

    Does my answer from this post help?

    I think the easiest way would be to go via Expression Blend. Right click on your ListBox (the main control, not its items). Then go to "Edit Additional Templates....(Item Container Style)....Edit Current". Blend will then load a new page for you to modify the styling of the container. In the top left pane (where you can choose project, assets etc...) click on "States". You'll see a list of states. Modify the ones you'd like to change and hopefully that should work

    EDIT:

    <ControlTemplate TargetType="ListBoxItem">
     <Border x:Name="LayoutRoot" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" HorizontalAlignment="{TemplateBinding HorizontalAlignment}" VerticalAlignment="{TemplateBinding VerticalAlignment}">
      <VisualStateManager.VisualStateGroups>
       <VisualStateGroup x:Name="CommonStates">
        <VisualState x:Name="Normal"/>
        <VisualState x:Name="MouseOver"/>
    
       </VisualStateGroup>
       <VisualStateGroup x:Name="SelectionStates">
        <VisualState x:Name="Unselected">
         <Storyboard>
          <ColorAnimation Duration="0" To="White" Storyboard.TargetProperty="(Control.Background).(SolidColorBrush.Color)" Storyboard.TargetName="ContentContainer" d:IsOptimized="True"/>
          <ColorAnimation Duration="0" To="White" Storyboard.TargetProperty="(Control.Foreground).(SolidColorBrush.Color)" Storyboard.TargetName="ContentContainer" d:IsOptimized="True"/>
         </Storyboard>
        </VisualState>
        <VisualState x:Name="Selected">
         <Storyboard>
          <ColorAnimation Duration="0" To="Red" Storyboard.TargetProperty="(Control.Foreground).(SolidColorBrush.Color)" Storyboard.TargetName="ContentContainer" d:IsOptimized="True"/>
         </Storyboard>
        </VisualState>
        <VisualState x:Name="SelectedUnfocused">
         <Storyboard>
          <ColorAnimation Duration="0" To="Red" Storyboard.TargetProperty="(Control.Foreground).(SolidColorBrush.Color)" Storyboard.TargetName="ContentContainer" d:IsOptimized="True"/>
         </Storyboard>
        </VisualState>
       </VisualStateGroup>
      </VisualStateManager.VisualStateGroups>
      <ContentControl x:Name="ContentContainer" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" Foreground="#FF1BA1E2" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Background="Black" BorderBrush="Black"/>
     </Border>
    </ControlTemplate>
    
    0 讨论(0)
提交回复
热议问题