2009-08-03 7 views
1

私はDataTemplateに奇妙なパディングを追加しているSilverlight 3 DataFormを持っています。 Silverlight Spyを使用してXAMLの出力を調べると、DataTemplateの内容を含む12,12,6,12の余白を持つContentPresenterがあるように見えます。これは、私の状況には理想的ではない形で常にパディングがあることを意味します。Silverlight DataForm内でパディングをどのように削除しますか?

スタイルリソースを作成してコントロール全体をテンプレート化せずにこのマージンを調整する方法を知っている人はいますか?これは、フォームの明白なパディング属性のいずれにも見えません。ここで

は、Silverlightのスパイでどのように見えるかです:http://i169.photobucket.com/albums/u217/troyhunt/Silverlight.png?t=1249271108

答えて

1

私はそれを行うために汚い感じが、私はちょうど、データフォーム内の最初の子要素に負のマージンを入れています。非常に落ち着いていませんが、明白な選択肢に照らせば、仕事は終わりです。

0

小さなコードを使用する別の方法は、ビジュアルツリーを使用してContentPresenterを見つけて余白を設定することです。

Silverlightに適用されないContentElementを削除するようにFinding Elementsコードを変更すると、コンテンツプレゼンターを見つけて余白を更新できます。

foreach (var match in LayoutRoot.FindChildren<ContentPresenter>()) 
     { 
      if (match.Margin.Bottom == 12 && match.Margin.Top == 12 && match.Margin.Left == 12 && match.Margin.Right == 6) 
       match.Margin = new Thickness(0); 
     } 
関連する問題