2012-01-21 4 views
1

"Line 1"과 "Line 2"의 항목이있는 WP7 ListBox가 있습니다. 항목을 선택하면 선택한 항목 상태가 선택 상태로 변경되고 텍스트는 빨간색으로 바뀝니다.ListBox SelectedItem을 원래 상태로 재설정하는 방법. WP7

선택 후 MessageBox를 표시 한 다음 확인을 선택하고 항목이 여전히 선택되어있는 목록 상자 (빨간색)로 돌아갑니다.

어떻게 선택한 항목을 원래 상태로 재설정합니까?

TIA, 트레이는

이것은 내가 사용하고 코드입니다. 그것은 약간의 해킹이지만 다소 작동합니다.

private void listBox1_SelectionChanged(object sender, SelectionChangedEventArgs e) 
    { 
     try 
     { 
      if (listBox1.SelectedItem.ToString() == "Line 1") 
      { 
       MessageBox.Show("Found"); 
       ResetListBox(); 
      } 
      else 
      { 
       MessageBox.Show("Not Found"); 
       ResetListBox(); 
      } 
     } 
     catch { } 
    } 

    private void ResetListBox() 
    { 
     listBox1.Items.Clear(); 
     listBox1.Items.Add("Line 1"); 
     listBox1.Items.Add("Line 2"); 
    } 
+0

두 항목 만있는 경우 목록 상자 이외의 다른 것을 사용할 수 있습니다. –

+1

myListBox.SelectedIndex = -1; –

답변

0

MVVM을 사용하는 경우 ViewModel은이 논리를 제어하여 사용자가 메시지 상자에서 확인을 클릭 한 후에 선택을 지울 수 있습니다. 이 코드는 바인딩 속성 변경 및 목록의 selectedItem가 속성을 올릴 것이다

public void Show() 
{ 
    MessageBox.Show(); 
    SelectedCustomer = _previouslySelectedCustomer; 
} 

속성과 같을 수도, 그 방법은 변경 사항이 UI에 반영 얻을 것이다.

MVVM을 사용하지 않는 경우 Codebehind에서 설정해야한다는 점을 제외하고는 비슷한 모양이됩니다.

희망이 있습니다.

미구엘.

0

이전에 선택한 항목을 저장하십시오. 메시지 상자를 표시 한 후 목록 상자에서 선택한 항목을 수동으로 다시 설정하십시오.

+0

내 코드는 다음과 같습니다. –

관련 문제