2013-08-22 6 views
0

내 wpf 앱에서 내 버튼이 한 번의 클릭으로 작동하지 않습니다. ListBox 항목의 dataTemplate을 변경하기위한 편집 버튼이 있습니다. 하지만 편집하려면 버튼을 두 번 클릭해야합니다. 또한 오른쪽 클릭 이벤트의 경우 두 번 클릭해야합니다. 더블 클릭 이벤트가 정상적으로 작동합니다. 왜 이런 일이 일어나는가? 어디에서 문제가 될 수 있습니까? 마우스 오른쪽 단추로 클릭 이벤트 및 편집 버튼버튼이 한 번의 클릭으로 작동하지 않습니다. Wpf

C# 코드 :

private void listBox1_MouseRightClick(object sender, MouseButtonEventArgs e) 
    { 
     Harvest_TimeSheetEntry entryToDelete = (Harvest_TimeSheetEntry)listBox1.SelectedItem; 

     if(entryToDelete!=null) 
     { 
      MessageBoxResult Result = System.Windows.MessageBox.Show("Are you sure?", "Delete Confirmation", System.Windows.MessageBoxButton.YesNo); 

      if (Result == MessageBoxResult.Yes) 
      { 
       Globals._globalController.harvestManager.deleteHarvestEntry(entryToDelete); 
       listBox1.Items.Remove(listBox1.SelectedItem); 
      } 
      else 
      { 
       System.Windows.MessageBox.Show("Delete operation Terminated"); 
      } 
     } 
    } 

    private void EditButton_Click(object sender, RoutedEventArgs e) 
    { 
     if (listBox1.ItemTemplate == (DataTemplate)this.FindResource("DefaultDataTemplate")) 
     { 
      listBox1.ItemTemplate = (DataTemplate)this.FindResource("EditableDataTemplate"); 
      EditButton.Content = "Done Editing"; 
     } 
     else 
     { 
      foreach (Harvest_TimeSheetEntry item in listBox1.Items) 
      { 
       if (!item.isSynced) 
       { 
        ValidateEntry(item); 
        Globals._globalController.harvestManager.updateHarvestEntry(item); 
        System.Windows.MessageBox.Show("Entry Updated"); 
       } 
       listBox1.ItemTemplate = (DataTemplate)this.FindResource("DefaultDataTemplate"); 
       EditButton.Content = "Edit"; 
      } 
     } 

    } 
+0

아마 ListBoxItem 템플릿과 관련이 있지만 자세한 내용 없이는 예측하기가 어렵습니다. 각 목록 상자 항목은 선택 상태를 변경하기 위해 클릭에 반응하므로 하나의 원인 일 수 있습니다. Snoop이나 WPF Inspector와 같은 컨트롤의 구조를보고 무슨 일이 일어나고 있는지 잘 파악해보십시오. 당신은 질문을 편집하여 코드를 제거 할 수 있습니다. 실제 질문과 관련이 없으며 잡음 만 추가하기 때문입니다. –

+0

일부 코드보기 –

+0

@MicrosoftDN 코드를 추가했습니다. 그러나 Alex Paven이 말했듯이, 나는 또한 코드가 실제 질문과 관련이 없다고 생각합니다. – user2622971

답변

관련 문제