我在页面中有一个Listpicker控件,我绑定了一些项目,我正在尝试更改项目模板。
我的模板如下:
<phone:PhoneApplicationPage.Resources>
<DataTemplate x:Name="modulePickerFullItemTemplate">
<StackPanel>
<TextBlock Text="{Binding modes}"/>
</StackPanel>
</DataTemplate>
<DataTemplate x:Name="modulePickerItemTemplate">
<StackPanel Orientation="Horizontal">
<TextBlock Text="LALA" Foreground="#333"/>
</StackPanel>
</DataTemplate>
</phone:PhoneApplicationPage.Resources>
Listpicker:
<toolkit:ListPicker x:Name="ddlMode" Grid.Row="6" ExpansionMode="FullScreenOnly"
FullModeItemTemplate="{Binding modulePickerFullItemTemplate}"
ItemTemplate="{Binding modulePickerItemTemplate}"
FullModeHeader="Select mode">
</toolkit:ListPicker>
我在项目中看到的是我与Listpicker绑定的值,而不是我期望的LALA值。
我做错了什么?
答案 0 :(得分:7)
你用过
ItemTemplate="{Binding modulePickerItemTemplate}"
在您的第一个代码段中,但必须是
ItemTemplate="{StaticResource modulePickerItemTemplate}"
您应该使用“Binding”来访问绑定到控件的数据和“StaticResource”来访问您在资源中定义的所有内容,例如DataTemplate。
答案 1 :(得分:2)
这就是我最终解决的问题:
<toolkit:ListPicker x:Name="lst"
ExpansionMode="FullScreenOnly"
FullModeHeader="Select">
<toolkit:ListPicker.ItemTemplate>
<DataTemplate>
<Image Source="{Binding Image}" Stretch="None"></Image>
</DataTemplate>
</toolkit:ListPicker.ItemTemplate>
<toolkit:ListPicker.FullModeItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Name}"/>
</StackPanel>
</DataTemplate>
</toolkit:ListPicker.FullModeItemTemplate>
</toolkit:ListPicker>