2013-08-21 63 views
0

我很難與Windows Phone Toolkit的ListPicker配合使用。XAML - ListPicker奇怪行爲

的ListPicker聲明這樣一個註冊頁面:

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

一切工作正常,但如果我去到listpicker的全模式並選擇一個項目,每一個其他文本框(例如,對於電子郵件,密碼等)現在有一個空的內容,甚至不顯示水印提示。 我使用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> 

所有這些都綁定到視圖模型。任何想法爲什麼文本丟失?

某時在全模式的ListPicker還凍結我必須按返回鍵,然後重試...

回答

2

你是不是綁定的ItemTemplate ListPicker。這樣綁定

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

請確保您沒有在OnNavigatedTo方法中設置任何文本框。如果是的話你的TextBox會重新設置。 所以,不要在該方法中設置任何文本框。

+0

我的ListPicker不用於選擇名字(它選擇一個國家)。國家選擇正確,但是如果我從ListPickers完整模式返回,則其他每個文本框都會丟失其內容。 –

+0

你是否重寫'OnNavigatedTo'並對該方法中的文本框執行一些操作? Plz檢查一次。 –

+0

就是這樣!我在'OnNavigatedTo'過這樣的: '如果(_vm == NULL) _vm =新RegisterViewModel(){...}' 而在'OnNavigatedFrom:'' _vm = NULL;' 謝謝非常。我是StackOverflow的新手,是否可以將您的評論投票作爲正確答案? –