2013-08-22 140 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

回答