The problem with your current if statement is that valid input will still come up as invalid. If the input is "B", it will see that it is not "A" (which is in your if statement) which means the whole criteria is then true.
Change your if statement to this:
if (string.IsNullOrWhiteSpace(gradeLetter.Text) || !(gradeLetter.Text == "A" || gradeLetter.Text == "B" || gradeLetter.Text == "C" || gradeLetter.Text == "D" || gradeLetter.Text == "F"))
which essentially asks "Is your input empty or is your input not A,B,C,D, or F?