WPF and MySQL have absolutely nothing to do with each other, and can be used together as much as you like.
How you implement this is a choice, but going for a separate Data-layer is always a good option. If you create an interface for the data operations, for example
public interface MyPersonRepository{
Person GetById(args);
Person Insert(args);
Person Update(args);
void Delete(args);
}
you can implement this interface how you want to, and use the MySQL connector or Entity Framework or even NHibernate to access the data. This way WPF doesn't know what database is used, which it really doesn't need to know in the first place.