2013-03-19 2 views
1

확장의 ListPicker 컨트롤은 다음과 같습니다WP8 ListPicker 모드 배경

  • 정상 모드 - 배경이 투명합니다.
  • 확장 모드 - 배경이 흰색입니다.

장치 테마는 빛으로 설정되어의 ListPicker 컨트롤은 다음과 같습니다

  • 정상 모드 - 배경이 투명합니다.
  • 확장 모드 - 배경이 투명합니다.

나는 listpicker의 항목 컬렉션에서 이미지 + 텍스트를 사용하고 있습니다. 테마가 밝아지면 잘 작동합니다. 그러나 테마가 어둡게 설정되면 이미지는 일반 모드로 표시되지만 확장 모드에서는 보이지 않습니다. 이 문제를 해결할 아이디어가 있습니까?

Light theme - normal mode Light theme - expanded mode Dark theme - normal mode Dark theme - expanded mode

+0

전화 테마로도 이미지 색상이 변하는 것 같습니다. 어두운 테마에서는 이미지 색상이 검정 및 빛 테마 이미지 색상이 흰색입니다. Dark Inme Image에서 이미지가 보이지 않으면 이미지가 아직 남아 있습니다. 이미지로 확인할 수 있습니까? 전화 테마로 색상이 어떻게 바뀌나요? – asitis

+0

예, 이미지는 PhoneContrastBackgroundBrush로 설정된 채우기 속성을 사용하여 사각형으로 래핑되고 OpacityMask 속성은 이미지로 설정되어 동일한 이미지를 두 테마에서 모두 사용할 수 있습니다. –

+0

ListPicker 컨트롤의 스타일을 사용자 정의해야 할 수도 있습니다. [이 튜토리얼을 시도하십시오] (http://www.geekchamp.com/articles/customizing-listpicker-for-wp7-part1) –

답변

2

아래

참조 이미지 나는 빠른이며 ListPicker 제어에 무거운 수정을 필요로하지 않는이 개 제안을 ...이

1) 휴대 전화의 액센트 색상을 이미지가있는 OpacityMask으로 사용하십시오 ...

<toolkit:ListPicker.ItemTemplate> 
<DataTemplate> 
    <StackPanel Orientation="Horizontal"> 
     <Rectangle Fill="{StaticResource PhoneAccentBrush}" Height="40" Width="40"> 
      <Rectangle.OpacityMask> 
       <ImageBrush ImageSource="{Binding Icon}" /> 
      </Rectangle.OpacityMask> 
     </Rectangle> 
     <TextBlock Text="{Binding Name}" /> 
    </StackPanel> 
</DataTemplate> 
</toolkit:ListPicker.ItemTemplate> 

아이콘에 강조 색상이 사용되면 검정 또는 흰색 배경으로 볼 수 있습니다.

2) ListPicker의 강조 표시 상태의 배경색을 Light 테마 (기본값)를 사용할 때는 흰색으로, Dark 테마를 사용할 때는 검정색 (기본값과 다름)으로 변경하십시오. 나는 또한 전경색을 바 꾸었습니다. 이 같은 컨트롤의 테마는 여전히 사용 가능) 한 컨트롤이 그대로 제출 문제를 일으킬와 b) 어둠과 빛 테마에서 작동 안 변경

<ObjectAnimationUsingKeyFrames 
    Storyboard.TargetName="UserControl" 
    Storyboard.TargetProperty="Foreground" 
    Duration="0"> 
<DiscreteObjectKeyFrame 
    Value="{StaticResource PhoneForegroundBrush}" 
    KeyTime="0"/> 
</ObjectAnimationUsingKeyFrames> 
<ObjectAnimationUsingKeyFrames 
    Storyboard.TargetName="Border" 
    Storyboard.TargetProperty="Background" 
    Duration="0"> 
<DiscreteObjectKeyFrame 
    Value="{StaticResource PhoneBackgroundColor}" 
    KeyTime="0"/> 
</ObjectAnimationUsingKeyFrames> 

.

+0

게시 주셔서 감사하고 악센트 색깔로 좋은 제안, 그것에 대해 생각하지 않았습니다 :) –

+0

아무런 문제가 없습니다 - 귀하의 애플 리케이션과 함께 행운을 빈다! –