我在使用Windows Phone Toolkit中的ListPicker时遇到了困难。
ListPicker在Register Page:
中声明如下<toolkit:ListPicker ExpansionMode="ExpansionAllowed"
FullModeHeader="Countries"
Template="{StaticResource ListPickerControlTemplate}"
FullModeItemTemplate="{StaticResource ListPickerFullItemTemplate}"
ItemsSource="{Binding CountryList}"
SelectedItem="{Binding SelectedCountry}" />
一切正常,但如果我进入listpicker的完整模式并选择一个项目,页面上的每个其他TextBox(例如电子邮件,密码等)现在都有一个空内容,甚至没有水印提示再显示出来。 我正在使用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也会冻结,我必须按后退键再试一次......
答案 0 :(得分: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将再次重置。
因此,不要在该方法中设置任何TextBox。