2013-07-01 2 views
0

컨트롤을 클릭하여 다른 항목을 선택하면 작동하는 것처럼 보이지만 모두 흰색 인 경우 목록 선택기가 있습니다. 가끔씩 다른 항목을 선택하지만 가져올 항목을 선택할 때까지 선택할 수 있습니다. 그것. 이것이 제가 설정 한 방법입니다. 전체 모드로 설정하면 이름 공간이 항목의 실제 이름이 아닌 유일한 것을 나타냅니다. ListPicker에 값을로드하는 데 필요한 뷰를로드하는 중입니다.목록 피커가 항목을 표시하지 않습니다.

<phone:PhoneApplicationPage.Resources> 
    <DataTemplate x:Name="PickerItemTemplate" > 
     <StackPanel Orientation="Horizontal"> 
      <TextBlock Text="{Binding TankTypeName}" Style="{StaticResource PhoneTextNormalStyle}"/> 
     </StackPanel> 
    </DataTemplate> 
    <DataTemplate x:Name="PickerFullModeItemTemplate"> 
     <StackPanel Orientation="Horizontal"> 
      <TextBlock Text="{Binding TankTypeName}" Style="{StaticResource PhoneTextNormalStyle}" FontFamily="{StaticResource PhoneFontFamilyLight}"/> 
     </StackPanel> 
    </DataTemplate> 
</phone:PhoneApplicationPage.Resources> 


<!--ContentPanel - place additional content here--> 
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> 
    <TextBox Height="72" HorizontalAlignment="Left" Margin="0,50,0,0" Name="TextBoxProjectName" Text="" VerticalAlignment="Top" Width="456" /> 
    <TextBlock Height="30" HorizontalAlignment="Left" Margin="12,28,0,0" Name="TextBlockProjectName" Text="Tank Name:" VerticalAlignment="Top" /> 
    <toolkit:ListPicker Header="Tank Type:" ItemsSource="{Binding TankTypes}" 
          ItemTemplate="{StaticResource PickerItemTemplate}" 
          FullModeItemTemplate="{Binding PickerFullModeItemTemplate}" 
          SelectedItems="{Binding SelectedTankTypes,Mode=TwoWay}" 

          Height="100" HorizontalAlignment="Left" 
          Margin="6,144,0,0" Name="ListPickerTankType" 
          VerticalAlignment="Top" Width="444" > 
    </toolkit:ListPicker> 
</Grid> 

보기 모델

private List<TankType> _tankType; 

private ObservableCollection<Object> _selectedTankType= new ObservableCollection<object>(); 

    /// <summary> 
    /// Collection of Tank Type objects. 
    /// </summary> 
public List<TankType> TankTypes 
{ 
    get 
    { 
     return _tankType; 
    } 

    set 
    { 
     if (value != _tankType) 
     { 
      _tankType = value; 
      NotifyPropertyChanged("TankType"); 
     } 
    } 
} 


public ObservableCollection<object> SelectedTankTypes 
{ 
    get 
    { 
     return _selectedTankType; 
    } 

    set 
    { 
     if (_selectedTankType == value) 
     { 
      return; 
     } 

     _selectedTankType = value; 
     NotifyPropertyChanged("SelectedTankTypes"); 
    } 
} 

이 뷰의 생성자 있도록 편집 페이지입니다.

수정 됨 확인 됨 listpicker에서 높이를 제거 했으므로 커서가 커져서 세 항목이 표시됩니다. 난 그냥 목록 색상을 클릭하면 볼 수 있도록 검은 색으로 글꼴 색상을 변경하는 것.

답변

0

알아 냈어. 높이를 제거하고 전경색을 검정색으로 설정해야했습니다.

관련 문제