列表选取器未显示项目

本文关键字:显示 项目 选取 列表 | 更新日期: 2023-09-27 18:20:40

我有一个列表选择器,当点击控件选择另一个项目时,它看起来像是要工作了,但都是白色的。我有时可以让它选择另一项,但在你离开它之前看不到选择了什么。这就是我设置它的方式。当我将其设置为完整模式时,名称空间是唯一不显示项目实际名称的东西。我所要做的就是在加载视图时,用值加载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;
}

修改好了,我去掉了列表选择器上的高度,现在可以看到它变大了,所以三个项目都在那里。我只是似乎无法将字体颜色更改为黑色,这样当你点击列表选择器时我就能看到它。

列表选取器未显示项目

想明白了。我需要删除高度并将前景色设置为黑色。