Silverlight 绑定测量颜色关键帧颜色值

Silverlight 绑定测量颜色关键帧颜色值,silverlight,binding,storyboard,windows-phone,windows-phone-8,Silverlight,Binding,Storyboard,Windows Phone,Windows Phone 8,我有以下Windows Phone代码,用于将矩形的颜色从黑色更改为红色 <Grid x:Name="LayoutRoot"> <phone:Pivot x:Name="MyPivot" > <phone:PivotItem x:Name="MyPivotItem"> <Canvas x:Name="MyCanvas"> <Canvas.Resources> <Story

我有以下Windows Phone代码,用于将
矩形的颜色从黑色更改为红色

<Grid x:Name="LayoutRoot">
  <phone:Pivot x:Name="MyPivot" >
    <phone:PivotItem x:Name="MyPivotItem">
      <Canvas x:Name="MyCanvas">
        <Canvas.Resources>
          <Storyboard x:Name="MyStoryboard">
            <ColorAnimationUsingKeyFrames
              Storyboard.TargetProperty="(Rectangle.Fill).(SolidColorBrush.Color)"
              AutoReverse="True">
                <EasingColorKeyFrame KeyTime="00:00:0" Value="Black" />
                <EasingColorKeyFrame KeyTime="00:00:0.5" Value="Red" />
            </ColorAnimationUsingKeyFrames>
          </Storyboard>
        </Canvas.Resources>
      </Canvas>
    </phone:PivotItem>
  </phone:Pivot>
</Grid>


我想做的是使其更具动态性,以便可以从代码隐藏页面更改
EasingColorKeyFrame
s中使用的颜色。是否可以将my
EasingColorKeyFrame
绑定到my如果您只是尝试从code behind page更改颜色,则只需给帧一个x:名称并在code behind中设置它们的值

...
<EasingColorKeyFrame KeyTime="00:00:0" x:Name="start" Value="Black" />
<EasingColorKeyFrame KeyTime="00:00:0.5" x:Name="end" Value="Red" />
...

您是否正在尝试绑定到名为“LayoutRoot”的网格的属性,该网格没有您的颜色属性?在本文中,作者将绑定到UserControl本身,而不是Grid。啊,你是对的。我想我第一次读的时候误解了这一点,但再读一遍,它似乎更清楚,我将从问题中删除它。你知道有什么方法可以从我的代码隐藏页面绑定属性吗?@AntSlay对这个问题的回答与我之前尝试过的类似,但是使用了页面名而不是LayoutRoot:。今晚我要试试这个!哦,哇。我不知道我怎么没有想到,但是谢谢你。这肯定是最简单的解决办法。今晚我要试试这个!
private void ChangeColors()
{
  start.Value = Colors.Green;
  end.Value = Colors.Blue;
}