We went through the same and were actually calling dd Mona for a while there.
In the end I sat her down and told her she had a choice to make. She could choose to be happy or she could choose to be miserable, and that will dictate how she lives the rest of her life. I also made her list 3 things she was grateful for (with a little help) every time I caught her whining.
No idea if it made a difference, but it seems to have passed (for the most part, at least)