私の wpf アプリでは、シングル クリックでボタンが機能しません。ListBox アイテムの dataTemplate を変更するための [編集] ボタンがあります。ただし、編集するにはボタンを 2 回クリックする必要があります。右クリック イベントでも、2 回クリックする必要があります。ダブルクリックイベントは正常に機能します。なぜこれが起こるのですか?どこに問題があるのでしょうか?
右クリック イベントと [編集] ボタンの 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";
}
}
}