2011-08-10 6 views
0

Silverlight 4を使用する場合、Imageを絶対位置に設定してドキュメントフローから取り出すことができ、グリッドなどから自由に配置できますか?Silverlightでオブジェクトを「ドキュメントフロー外に」移動させると、CSS Absolute Positioningと同じ効果がありますか?

CSSを使用すると、絶対配置を使用するように要素を設定し、その上にある最初の相対的な親に基づいて絶対配置されます。

私は、画面上の任意の場所の上で、Silverlightでイメージを配置したいと考えています。

それは 「センター」

CustomIcon.Source = new BitmapImage(new Uri("http://media.trueachievements.com/imagestore/0000149800/149834.jpg", UriKind.Absolute)); 
     CustomIcon.SetValue(Canvas.LeftProperty, Pt.X); 
     CustomIcon.SetValue(Canvas.TopProperty, Pt.Y); 
     CustomIcon.Visibility = System.Windows.Visibility.Visible; 

Ptなどの水平方向の配置と垂直方向の配置の両方にデフォルトだかのように見える、私は(背後にあるコードでは)絶対位置を試してみましたが、それは正確に位置決めされていないようです他の場所で正しく設定されています(デバッグ時にチェックします)。

イメージは、x:Name属性を設定したXamlにあり、既定では折りたたみ表示に設定されています。

Silverlight 4を使用して説明したのと同じ効果を得ることができますか(CSS)

答えて

1

キャンバスの左と上部の添付プロパティは、実際にコントロールをCanvas要素に追加した場合にのみ有効です。

「LayoutRoot」グリッドの最後の要素としてxamlにCanvas要素を追加するだけです。幅や高さを設定する必要はなく、Grid.RowまたはColumnに設定する必要もありません。

このキャンバスにアイテムを追加すると、どこにでも配置できます。

+0

+1:また、キャンバスの子はグリッドや他のコンテナの子のようにクリップされません。子供のための相対座標レンダリングシステムを提供するだけです(キャンバスの左上を基準にします)。 –

+0

ありがとう、問題は解決しました。素晴らしい仕事をした。 –

関連する問題