试图让Windows Phone 8 ListPicker工作

时间:2013-03-10 17:30:25

标签: c# silverlight xaml windows-phone-8 windows-phone

ListPicker功能,我可以单击它并显示全屏弹出窗口,但有多个选项可供选择。

我的xaml:

                <toolkit:ListPicker ExpansionMode="FullScreenOnly" FullModeHeader="Select Module" Name="modulePicker">
                    <toolkit:ListPicker.ItemTemplate>
                        <DataTemplate>
                            <StackPanel>
                                <TextBlock Text="{Binding moduleNumber}"/>
                            </StackPanel>
                        </DataTemplate>
                    </toolkit:ListPicker.ItemTemplate>
                    <toolkit:ListPicker.FullModeItemTemplate>
                        <DataTemplate>
                            <StackPanel">
                                <TextBlock Text="{Binding moduleNumber}"/>
                            </StackPanel>
                        </DataTemplate>
                    </toolkit:ListPicker.FullModeItemTemplate>
                </toolkit:ListPicker>

它背后的C#包括:

String[] moduleNumber = { "AA1", "AA2", "AA3" };

    public MainPage()
    {
        InitializeComponent();
        this.modulePicker.ItemsSource = moduleNumber;
    }

那么我需要做些什么来使moduleNumber中列出的字符串显示在ListPicker上?

如果您需要了解更多,请询问。

2 个答案:

答案 0 :(得分:3)

背后的代码很好。这是一个xaml问题。请在您的xaml文件中尝试此方法。

1)将您的数据模板定义为PhoneApplicationPage Resources,它从后面的代码绑定到moduleNumber数组。

2)然后将列表选择器绑定到模板。

<phone:PhoneApplicationPage.Resources>
    <DataTemplate x:Name="modulePickerItemTemplate">
        <StackPanel>
            <TextBlock Text="{Binding moduleNumber}"/>
        </StackPanel>
    </DataTemplate>
    <DataTemplate x:Name="modulePickerFullItemTemplate">
        <StackPanel>
            <TextBlock Text="{Binding moduleNumber}"/>
        </StackPanel>
    </DataTemplate>
</phone:PhoneApplicationPage.Resources>


<toolkit:ListPicker ExpansionMode="FullScreenOnly" FullModeHeader="Select Module" 
                    Name="modulePicker"
                    FullModeItemTemplate="{Binding modulePickerFullItemTemplate}" 
                    ItemTemplate="{Binding modulePickerItemTemplate}" />

答案 1 :(得分:-2)

我认为您的原始代码不起作用是因为拼写错误 -