【问题标题】:WPF storyboard object accessWPF 故事板对象访问
【发布时间】:2010-04-04 20:44:44
【问题描述】:

我是 Silverlight 和 wpf 编程的新手

我刚刚在 silverlight 中创建了一个简单的故事板,它增加了按钮的高度和宽度。

如我所愿,我编写了这段代码,以便每当我在按钮故事板上移动光标时开始。

这是用于 Silverlight 的代码。

private void button_MouseEnter(object sender, System.Windows.Input.MouseEventArgs e)
{
    if(Storyboard1.GetCurrentState()!=ClockState.Active)
        Storyboard1.Begin();
}

就我使用silverlight而言,在上述情况下一切都很好。

但现在我想在 WPF 中使用相同的功能。

但我面临的问题是,在 WPF 按钮单击事件处理程序中,我无法访问 Storyboard1 对象。

请帮助我访问事件处理程序中的情节提要对象。

【问题讨论】:

    标签: c# .net wpf


    【解决方案1】:

    在 WPF 中,你不需要代码来做这种动画;这一切都可以在 XAML 中完成。示例:

        <Button>
            <Button.Style>
                <Style TargetType="Button">
                    <Setter Property="Width" Value="50" />
                    <Setter Property="Height" Value="20" />
                    <Style.Triggers>
                        <EventTrigger RoutedEvent="MouseEnter">
                            <BeginStoryboard>
                                <Storyboard>
                                    <DoubleAnimation Storyboard.TargetProperty="Width" To="100" />
                                    <DoubleAnimation Storyboard.TargetProperty="Height" To="40" />
                                </Storyboard>
                            </BeginStoryboard>
                        </EventTrigger>
                        <EventTrigger RoutedEvent="MouseLeave">
                            <BeginStoryboard>
                                <Storyboard>
                                    <DoubleAnimation Storyboard.TargetProperty="Width" To="50" />
                                    <DoubleAnimation Storyboard.TargetProperty="Height" To="20" />
                                </Storyboard>
                            </BeginStoryboard>
                        </EventTrigger>
                    </Style.Triggers>
                </Style>
            </Button.Style>
        </Button>
    

    其实,既然都是style,所以你可以很方便的把这个动画应用到多个按钮上,不用重复代码:

    <Window.Resources>
        <Style x:Key="myGrowingButton" TargetType="Button">
            ...
        </Style>
    </Window.Resources>
    ...
        <Button Style="{StaticResource myGrowingButton}">Button1</Button>
        <Button Style="{StaticResource myGrowingButton}">Button2</Button>
    ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-23
      • 2014-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多