2009-08-03 96 views
1

我有一個Silverlight 3 DataForm,它將一些奇數的填充添加到DataTemplate。使用Silverlight Spy檢查XAML輸出,它看起來像ContentPresenter的邊距爲12,12,6,12,然後包含DataTemplate的內容。這意味着總有填充的形式不適合我的情況。如何從Silverlight DataForm中刪除填充?

有誰知道如何調整此邊距而不創建樣式資源並模板化整個控件?它似乎沒有任何明顯的表單填充屬性。

這裏是它的外觀在Silverlight間諜:http://i169.photobucket.com/albums/u217/troyhunt/Silverlight.png?t=1249271108

回答

1

我覺得髒做它,但我只是把負利潤率數據形的第一個子元素。非常不雅,但根據沒有明顯的替代方案完成工作。

0

通過使用一小段代碼的另一種方法是使用可視化樹查找ContentPresenter來設置邊距。

修改Finding Elements代碼以刪除不適用於Silverlight的ContentElement,然後您可以找到內容演示者並更新Margin

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); 
     }