WPFでdatagridを使った帳票アプリを作っていますがとても困っています
助けてください

やりたいこと
タッチ操作によるピンチイン、ピンチアウトをcanvasに追加したい
現在の状態(scrollviewer→canvas→datagrid)

問題点
この状態で canvasを拡大縮小する場合、Onmanipulation系のイベントを発生させたいが、scrollviewerやdatagrid上では、pannmodeがONだとスクロール以外のタッチ操作が効かない
(よくわかりませんが、この2つには最初からOnmanipulation系のイベントが実装されていて、e.handled=trueしてしまっているかららしい)ため拡大縮小機能を実装できない

現在
Microsoftの標準ライブラリのコードが載っているページからscrollviewerとdatagridのソースコードを見つけたため、
それぞれカスタムコントロールを作っているが、エラーが出て実装できない

教えて欲しいこと
標準ライブラリのソースコード(とtemplate)を使ってイチからカスタムコントロールを作りたいためやり方を教えてください
というかサンプルを貰えると嬉しいです

拙い文章で申し訳ないですがお願いします