2009-07-23 41 views
0

我已經用一組控件設置了一個StackPanel。每個控件都是同一個類的一個實例。該控件也是一個堆棧面板,並具有另一個自定義控件。所以:Silverlight RenderTransforms可供兒童使用嗎?

StackPanel: 
    CustomControl1: 
      StackPanel: 
        CustomControl2: 
         ListBox 
    CustomControl1: 
      StackPanel: 
        CustomControl2: 
         ListBox 
    CustomControl1: 
      StackPanel: 
        CustomControl2: 
         ListBox 

RenderTransform應用於頂層堆棧面板。正如預期的那樣,所有的兒童控制措施都相應地擴展這很棒,直到我到達最後一個Listbox控件。在這種情況下,我希望比例尺被忽略,或者以不同的方式處理(比如反方向)。

有什麼辦法可以從轉換中排除控件嗎?或者,我可以評估Listbox內的轉換嗎?

感謝

回答

1

您可以應用改造完全相反,雖然它可能需要一些時間才能得到恰到好處。

如果在代碼中執行該操作,則可以使用VisualTreeHelper遍歷樹並讀取正確的值。

或者,你可能會做的創意某種:

StackPanel: 
StackPanel: APPLY transformation HERE instead for the first 2 
    CustomControl1: 
     StackPanel: 
       CustomControl2: 
         ListBox 
    CustomControl1: 
     StackPanel: 
       CustomControl2: 
         ListBox 
CustomControl1: 
     StackPanel: 
       CustomControl2: 
        ListBox