我正在使用工具包:带有数据绑定的wp8的Listpicker。 listpicker的datatemplate中有一个文本框,它取自List projectList的元素。
我已经通过这种方式完成了代码中的绑定:
List<Project> lists= new List<Project>();
listPickerOptions.ItemSource = lists;
文本框绑定到数据,但由于数据超过5,当我选择数据时,它会将我带到一个新屏幕,其中每个元素都显示为namespace.Project
我是数据绑定的新手。
以下是listpicker的.xaml部分
<StackPanel Orientation="Vertical" Height="167" Margin="0">
<TextBlock Text="Domain" Margin="13,0,285,0" x:Name="Domain"/>
<TextBox IsEnabled="False" Text="Redmond" x:Name="Domain_txtBox" Visibility="Collapsed"/>
<toolkit:ListPicker x:Name="listPickerDomainOption" ItemsSource="{Binding Title, ElementName=this}" HorizontalAlignment="Right" Height="123" Margin="0,0,11,-30" VerticalAlignment="Top" Width="442" ExpansionMode="ExpansionAllowed" Visibility="Collapsed">
<toolkit:ListPicker.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Title}" Tag="{Binding ID}"/>
</StackPanel>
</DataTemplate>
</toolkit:ListPicker.ItemTemplate>
</toolkit:ListPicker>
</StackPanel>
我错过了什么?
答案 0 :(得分:3)
您忘了定义完整模式模板。由于你没有,它只会显示ItemsSource的类结构。这里是两个模板的示例代码,请确保您同时拥有它们。
<toolkit:ListPicker x:Name="myLP">
<!-- non full mode -->
<toolkit:ListPicker.ItemTemplate>
<DataTemplate>
<StackPanel>
<!-- YOUR XAML TAGS FOR BINDING -->
</StackPanel>
</DataTemplate>
</toolkit:ListPicker.ItemTemplate>
<!-- full mode -->
<toolkit:ListPicker.FullModeItemTemplate>
<DataTemplate>
<StackPanel>
<!-- YOUR XAML TAGS FOR BINDING -->
</StackPanel>
</DataTemplate>
</toolkit:ListPicker.FullModeItemTemplate>
</toolkit:ListPicker>