2013-07-01 151 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"); 
    } 
} 

這是一個編輯頁面,以便在視圖的構造函數。

public TaskDetail() 
{ 
    InitializeComponent(); 
    var tankTypeViewModel = new ViewModels.TankVewModel(); 
    tankTypeViewModel.GetTankTypes(); 
    ListPickerTankType.DataContext = tankTypeViewModel; 
} 

修正OK我刪除了listpicker上的高度,現在可以看到它變大了,所以三個項目在那裏。我似乎無法將字體顏色更改爲黑色,因此當您單擊列表選擇器時,我可以看到它。

回答

0

想通了。我需要刪除高度並將前景色設置爲黑色。