0

我很难使用 Windows Phone Toolkit 中的 ListPicker。

ListPicker 在注册页面上声明如下:

<toolkit:ListPicker ExpansionMode="ExpansionAllowed" 
                                        FullModeHeader="Countries" 
                                        Template="{StaticResource ListPickerControlTemplate}"
                                        FullModeItemTemplate="{StaticResource ListPickerFullItemTemplate}"
                                        ItemsSource="{Binding CountryList}"
                                        SelectedItem="{Binding SelectedCountry}" />

一切正常,除了如果我进入列表选择器的完整模式并选择一个项目,页面上的所有其他文本框(例如电子邮件、密码等)现在都有空内容,甚至不再显示水印提示. 我正在使用 Toolkit 中的 PhoneTextBoxes:

                <StackPanel>
                    <!-- name -->
                    <toolkit:PhoneTextBox Hint="firstname" Style="{StaticResource TransparentToolkitTextBoxStyle}" Text="{Binding FirstName}"/>
                    <toolkit:PhoneTextBox Hint="lastname" Style="{StaticResource TransparentToolkitTextBoxStyle}" Text="{Binding LastName}"/>
                    <!-- email -->
                    <toolkit:PhoneTextBox Hint="email" Style="{StaticResource TransparentToolkitTextBoxStyle}" Text="{Binding Email}"/>
                </StackPanel>

所有这些都绑定到 ViewModel。知道为什么文本丢失了吗?

有时在完整模式下,ListPicker 也会冻结,我必须按后退键再试一次......

4

1 回答 1

2

您没有绑定 ListPicker ItemTemplate。像这样绑定

<toolkit:ListPicker.ItemTemplate>
    <DataTemplate>
        <StackPanel Orientation="Horizontal">
            <toolkit:PhoneTextBox Hint="firstname" Style="{StaticResource TransparentToolkitTextBoxStyle}" Text="{Binding FirstName}"/>
        </StackPanel>
    </DataTemplate>
</toolkit:ListPicker.ItemTemplate>

确保您没有在OnNavigatedTo方法中设置任何文本框。如果是这样,您的 TextBox 将再次重置。因此,不要在该方法中设置任何文本框。

于 2013-08-21T18:28:31.473 回答