System.AddInを使ってUIを返すサンプルがWPFの項目にありました。C#のコードならダウンロードできます。ただしURLをja-jpからen-usに変えましょう。
Windows Presentation Foundation のアドインの概要
System.AddInを使ったアドインは、ホスト側のアプリケーションとアドイン側のデータのやり取りは、シリアル化できるデータのみになります。当然ながらWindowなんかはそのまま受け渡しできません。一応やりとりするための方法が用意されていてそれが上の記事書いてます。実際には、INativeHandleContractというインタフェースを通して行います。
アドイン側にそのアドインを示すアイコンを持たせたいのだけど、画像はシリアル化できず。上記のインタフェース使ってImage(FrameworkElement)をアドインが返すようにして、ホスト側でキャストしてImageオブジェクトを取得と考えてみた。そうしたら、ホスト側にで取得できるオブジェクトはMS.Internal.Controls.AddInHostという型になっていてCTypeで変換できませんでした。うーむ。