代码之家  ›  专栏  ›  技术社区  ›  sudarsanyes

基于控件模板的控件属性的脚本动画[复制]

  •  0
  • sudarsanyes  · 技术社区  · 15 年前

    这就是我所拥有的

    1. TasksToggleButtonOuterGlowBitmapEffect )还有一篇课文
    2. 使用此模板的按钮

    1在上面提到的椭圆的外部流上运行的故事板 2我会随时从我的代码隐藏文件触发这个故事板

    TasksToggleButtonOuterGlowBitmapEffect

    <Window.Resource>
        <ControlTemplate x:Key="DefaultTasksToggleButtonTemplate" TargetType="ToggleButton">
            <Grid Margin="2">
                <Border BorderBrush="White" BorderThickness="2" CornerRadius="20">
                    <Border.BitmapEffect>
                        <OuterGlowBitmapEffect x:Name="TasksToggleButtonOuterGlowBitmapEffect" GlowColor="LightGray" />
                    </Border.BitmapEffect>
                </Border>
                <Ellipse Fill="Red" Width="20" Height="20" Margin="2" />
                <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
            </Grid>
        </ControlTemplate>
    
    
        <Storyboard x:Key="GlowStoryboard">
            <DoubleAnimation Storyboard.TargetName="TasksToggleButtonOuterGlowBitmapEffect" Storyboard.TargetProperty="GlowSize" From="5" To="10" />
        </Storyboard>
    
    </Window.Resources>
    

    1 回复  |  直到 15 年前
        1
  •  0
  •   Joel Cochran    15 年前

    从表面上看,我觉得这是使用可视化状态管理器的一个很好的候选者。动画对于这种效果来说有点沉重,如果触发器是鼠标悬停、按下等等。如果你计划对按钮状态做出反应,那么一定要看看VSM。

    您遇到的问题是,您尝试访问的目标是模板的一部分,因此不是真正的元素。这样做是有道理的:假设你有50个按钮都应用了同一个模板:动画如何知道你真正指的是哪个任务toggleButtonOuterGlowBitmapEffect?