タイトルの通りなのですが、WPFでテキストにルビをつける方法が分からないのです。

Canvasあたりにゴリゴリとコードビハインドで描画すればでき……そう?な気はしますが、どうせなら何らかのプロパティ(コレクションでしょうか)に本文やルビを設定すると表示できるようなUserControl/CustomControlを作る方法が分かればありがたいところです。