自定义控件故事板模板绑定不起作用 - XAML C#

时间:2016-06-07 20:34:25

标签: c# xaml windows-10-universal

我创建了一个自定义控件,它具有一些依赖属性,我还需要将这些值分配给ControlTemplate中的故事板。

以下是我Control Template的代码的开头:

 <ControlTemplate TargetType="local:RingPresenter">
                <Grid x:Name="RootGrid">
                    <Grid.Resources>
                        <Storyboard x:Key="StatisticUpdateAnnimation">
                            <DoubleAnimationUsingKeyFrames EnableDependentAnimation="True" Storyboard.TargetProperty="(RingSlice.EndAngle)" Storyboard.TargetName="ringSlice">
                                <EasingDoubleKeyFrame KeyTime="0" Value="45"/>
                                <EasingDoubleKeyFrame KeyTime="0:0:2.2" Value="{TemplateBinding Angle}">

重要的部分是Value={TemplateBinding Angle}" - 该值已成功应用于我的

 <helper:RingSlice InnerRadius="100" Radius="150"  StartAngle="0" EndAngle="{TemplateBinding Angle}"  Fill="DarkCyan" x:Name="ringSlice">
                        </helper:RingSlice>

... 这是我的控制模板的一部分,但在故事板中,值保持为0.调试器说Angle具有正确的值并且工作正常对于我的Ringslice甚至元数据应该是45.

为什么这个值没有应用到我的故事板?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

如有疑问,请将EndAngle="{TemplateBinding Angle}"换成EndAngle="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Angle}"

TemplateBinding快速而有用,但并不总是具有最强大的能力来提供它所绑定的信息,原因完全让我失望。