2011-01-20 6 views
1

私は2つのページP1とP2を持っています。リストボックス内の選択されたアイテムは、他のページから戻ってグレーアウトされます

P1で

A)listbox1をするIsolatedStorageとデータバインディングからのデータのロードは、P1でのボタンのクリックイベントで行われます。

b)は、ユーザが項目を選択し、P2

例にナビゲートするユーザがP2にCarModel_1

を選択: ユーザプレスバックキーP2におけるP1に戻り。

は問題が:

P2からreturnning、ListBox1をで選択した項目は、灰色またはP2に移動するクリックできませんになります。

例:CarModel_1がグレーアウトまたはクリック不可になります。

残りはクリック可能です。

あなたのお手伝いをよろしくお願いします。

おかげ

答えて

1
この問題を回避する

一般的な方法の1つは、リストボックスのためにSelectedIndexを= -1を設定することです。

デフォルトのデータバインドプロジェクトを作成すると、これが実際に表示されます。

これは生成されるコードです。

private void MainListBox_SelectionChanged(object sender, SelectionChangedEventArgs e) 
{ 
    // If selected index is -1 (no selection) do nothing 
    if (MainListBox.SelectedIndex == -1) 
     return; 

    // Navigate to the new page 
    NavigationService.Navigate(new Uri("/DetailsPage.xaml?selectedItem=" + MainListBox.SelectedIndex, UriKind.Relative)); 

    // Reset selected index to -1 (no selection) 
    MainListBox.SelectedIndex = -1; 
} 

これに代わる方法は、この質問に記載されているようにジェスチャーサービスを実装することです。

Is there a click behavior for a list?

+0

@Mick N:あなたは、あなたが選択をリセットしない場合は、この動作がなぜ起こるか知っていますか?私は好奇心が強いです... – Praetorian

+1

"変更"がない場合は、そうですが、SelectionChangedは発生しません。理想的なのはクリック/タップのイベントですが、これは多くのコントロール(ボタンを除く)では利用できないようです。少なくとも、そこにはいくつかの合理的な方法があります。 –

+0

@Mick N:ありがとうございます。それは今働いているようだ。私はListBoxのいくつかの条件をチェックします。 – MilkBottle

関連する問題