我想在Silverlight中創建一個自定義控件,該控件動態縮放它的ControlTemplate中的一個元素。該控件模板的第一次嘗試看起來是這樣的:綁定到ControlTemplate中的變換
<ControlTemplate TargetType="controls:ProgressBar">
<Grid>
<Rectangle x:Name="TrackPart" Fill="{TemplateBinding Background}" HorizontalAlignment="Left" />
<Rectangle x:Name="ProgressPart" Fill="Blue" >
<Rectangle.RenderTransform>
<ScaleTransform ScaleX="{TemplateBinding Progress}" />
</Rectangle.RenderTransform>
</Rectangle>
</Grid>
</ControlTemplate>
然而,this forum thread指出TemplateBinding僅適用於FrameworkElements的衍生物。 ScaleTransform不是一個FrameworkElement。有沒有解決這個問題的方法?任何有關這種情況的最佳實踐?
非常感謝。比我在課堂上創建變換和綁定它們的解決方案好得多。 – 2009-09-10 08:34:00