PreviewMouseButton イベントを使用して、アイテムを選択できるかどうかを検証しています。これは、ユーザーが自動的にではなく手動で選択した場合にのみ検証が行われるようにするためです。
検証の一環として、MessageBox を表示して、ユーザーが本当に選択を変更したいかどうかを確認します。ユーザーが「はい」と言ったら、選択を実行する必要があります。そうでない場合、選択は実行されません。
問題は、メッセージボックスの確認で「はい」を選択した後でも、アイテムを選択できないことです。
何が欠けているのか教えてください。
private void ListBox_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
if(!ParentViewModel.CanChangeList())
{
e.Handled = true;
}
}
public bool CanChangeTree()
{
if (someCondition)
{
MessageBoxResult objResult = MessageBox.Show("Are You sure You want to change?", "Confirmation", MessageBoxButton.YesNo);
if (objResult == MessageBoxResult.Yes)
{
return true;
}else
{
return false;
}
}
return true;
}