I know this is shameless, but if you want one in WPF that you can style and improve to your liking, then gohere.