我想在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