たこぜりー研究室

大腸菌DNAは4.64Mbp。酵母は13Mbpで、ヒトは3Gbp

スポンサーサイト

#
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Siverlight 2 の ScrollViewer で複数ページ切り替え

#482
まずはここ。

develop .net : webcast: Silverlight 2 で複数のページを切り替える [develop.net]

次にここ。

Improved Mouse Wheel Support for Silverlight 2 Beta 2 ScrollViewer [adamjcooper.com/blog]

以上を材料に、マウススクロール可能でかつ複数ページに切り替えるものを Silverlight 2 Beta 2 で作成する。こんなイメージ。

<Grid><ScrollViewer /></Grid>

Grid を App.RootVisual にして、ScrollViewerMouseWheelSupport を呼び出す。
Grid を挟んでいるのはダイアログっぽいのを前面に表示できるようにするためと、ScrollViewer がシールされているため。いや、後者はコードで書けばいいのか。だがまあいいや。

そんなでやってみると、問題発生。

細かい再現条件は不明だが、ページ切り替え後にスクロール & (ブラウザのサイズを変える | ページ移動をする) と、必ず落ちる。

CrossAppDomainMarshaledException

Mouse Wheel Support のせいかと最初は思ったが、コメントアウトすると関係ないことが判明。いろいろやってみると、ScrollViewer.Content に直接各ページを叩きこんでいたのが原因らしい。
なので、

<Grid><ScrollViewer><ContentPresenter /></ScrollViewer></Grid>

にして、ContentPresenter.Content にページを入れるようにしたら、エラー消滅。

コメント


コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURL:  http://takojelly.blog2.fc2.com/tb.php/482-405dcd02
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。