未使用Windows Phone 8 Listpicker ItemTemplate

时间:2013-10-19 19:13:27

标签: windows-phone-8 listpicker

我在页面中有一个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值。

我做错了什么?

2 个答案:

答案 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>