2014-01-08 1 views
1

У меня есть LongList Multi Селектор и вы хотите изменить цвет границы в выбранном состоянии с телефонаAccentBrush на статическое значение.Как изменить цвет выбранных элементов в LongListMultiSelector?

enter image description here

К сожалению, я не смог найти itemStyle, который подходит.

Где я могу получить копию стандартного стиля или как изменить цвет?

ответ

2

Windows Phone Toolkit

Это с открытым исходным кодом. Вы можете открыть и отредактировать копию в Blend.

EDITED

К сожалению не заметил макет сетки. Предыдущий стиль был для макета списка MLLS. Для достижения желаемого вам необходимо изменить SelectionRectangle Прямоугольник и SelectionTriangle Полилиния Заполните нужную кисть.

<Style x:Key="LongListMultiSelectorItemGridStyle" TargetType="controls:LongListMultiSelectorItem"> 
    <Setter Property="Background" Value="Transparent"/> 
    <Setter Property="BorderThickness" Value="0"/> 
    <Setter Property="BorderBrush" Value="Transparent"/> 
    <Setter Property="Padding" Value="0"/> 
    <Setter Property="HorizontalContentAlignment" Value="Stretch"/> 
    <Setter Property="VerticalContentAlignment" Value="Stretch"/> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="controls:LongListMultiSelectorItem"> 
       <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"/> 
          <VisualState x:Name="Disabled"> 
           <Storyboard> 
            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background" Storyboard.TargetName="LayoutRoot"> 
             <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource TransparentBrush}"/> 
            </ObjectAnimationUsingKeyFrames> 
            <DoubleAnimation Duration="0" To=".5" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="ContentContainer"/> 
           </Storyboard> 
          </VisualState> 
         </VisualStateGroup> 
         <VisualStateGroup x:Name="SelectionStates"> 
          <VisualState x:Name="Unselected"/> 
          <VisualState x:Name="Selected"> 
           <Storyboard> 
            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="SelectionTriangle"> 
             <DiscreteObjectKeyFrame KeyTime="0"> 
              <DiscreteObjectKeyFrame.Value> 
               <Visibility>Visible</Visibility> 
              </DiscreteObjectKeyFrame.Value> 
             </DiscreteObjectKeyFrame> 
            </ObjectAnimationUsingKeyFrames> 
            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="SelectionCheck"> 
             <DiscreteObjectKeyFrame KeyTime="0"> 
              <DiscreteObjectKeyFrame.Value> 
               <Visibility>Visible</Visibility> 
              </DiscreteObjectKeyFrame.Value> 
             </DiscreteObjectKeyFrame> 
            </ObjectAnimationUsingKeyFrames> 
           </Storyboard> 
          </VisualState> 
         </VisualStateGroup> 
         <VisualStateGroup x:Name="HasSelectionStates"> 
          <VisualState x:Name="Opened"> 
           <Storyboard> 
            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="SelectionRectangle"> 
             <DiscreteObjectKeyFrame KeyTime="0"> 
              <DiscreteObjectKeyFrame.Value> 
               <Visibility>Visible</Visibility> 
              </DiscreteObjectKeyFrame.Value> 
             </DiscreteObjectKeyFrame> 
            </ObjectAnimationUsingKeyFrames> 
            <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="OuterCover"> 
             <DiscreteObjectKeyFrame KeyTime="0"> 
              <DiscreteObjectKeyFrame.Value> 
               <Visibility>Visible</Visibility> 
              </DiscreteObjectKeyFrame.Value> 
             </DiscreteObjectKeyFrame> 
            </ObjectAnimationUsingKeyFrames> 
           </Storyboard> 
          </VisualState> 
          <VisualState x:Name="Closed"/> 
         </VisualStateGroup> 
        </VisualStateManager.VisualStateGroups> 
        <Grid Margin="1" > 
         <ContentControl x:Name="ContentContainer" 
           Margin="3" 
           ContentTemplate="{TemplateBinding ContentTemplate}" 
           Content="{TemplateBinding Content}" 
           Foreground="{TemplateBinding Foreground}" 
           HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" 
           VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" 
           /> 
         <Rectangle x:Name="SelectionRectangle" Visibility="Collapsed" 
             Stroke="{StaticResource PhoneAccentBrush}" StrokeThickness="2"/> 
         <Polyline x:Name="SelectionTriangle" Visibility="Collapsed" 
           HorizontalAlignment="Right" VerticalAlignment="Top" 
           Points="50,0 50,50 0,0" 
           Fill="{StaticResource PhoneAccentBrush}" 
          /> 
         <Polyline x:Name="SelectionCheck" Visibility="Collapsed" 
           Margin="5" HorizontalAlignment="Right" VerticalAlignment="Top" 
           Points="40,0 43,3 28,18 18,8 21,5 28,12" 
           Fill="{StaticResource PhoneForegroundBrush}" 
           /> 
         <Grid x:Name="OuterCover" IsHitTestVisible="True" Visibility="Collapsed" Background="Transparent" VerticalAlignment="Stretch" HorizontalAlignment="Stretch"/> 
        </Grid> 
       </Border> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 
+0

Эй, спасибо за ваш ответ. К сожалению, я немного замешан на сегодняшнем поглощении ... Можете ли вы указать, где именно я должен что-то изменить, чтобы добиться изменения цвета границы/галочки-фона? – malte

+0

См. Мой отредактированный ответ. – Pantelis

+0

Большое вам спасибо! Работает как ожидалось :) – malte

 Смежные вопросы

  • Нет связанных вопросов^_^