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";
}
}
}
아마 ListBoxItem 템플릿과 관련이 있지만 자세한 내용 없이는 예측하기가 어렵습니다. 각 목록 상자 항목은 선택 상태를 변경하기 위해 클릭에 반응하므로 하나의 원인 일 수 있습니다. Snoop이나 WPF Inspector와 같은 컨트롤의 구조를보고 무슨 일이 일어나고 있는지 잘 파악해보십시오. 당신은 질문을 편집하여 코드를 제거 할 수 있습니다. 실제 질문과 관련이 없으며 잡음 만 추가하기 때문입니다. –
일부 코드보기 –
@MicrosoftDN 코드를 추가했습니다. 그러나 Alex Paven이 말했듯이, 나는 또한 코드가 실제 질문과 관련이 없다고 생각합니다. – user2622971