【问题标题】:WPF event trigger not workingWPF 事件触发器不起作用
【发布时间】:2013-01-05 17:02:29
【问题描述】:

我是编程新手(改变领域,离开设计)并且对 WPF 非常感兴趣。 所以我正在学习并做一些代码。 在这一个中,我正在尝试制作一个“不可见”网格(gridNovoCliente,opacity = 0)以显示在按钮单击事件(opacity = 1)及其所有元素。 我希望网格/元素在用户单击按钮之前不可见。

但它不起作用。 在决定在这里发布之前,我已经在谷歌上搜索了 3 天。 我收到错误“设置属性 'System.Windows.Media.Animation.Storyboard.Target' 引发异常。”在 EventTrigger 行。

一旦我让这个按钮工作,就会有更多按钮,所以我创建了一个样式。 提前致谢! 这是代码。

<Grid>
        <Button Style="{StaticResource templateButton}" Name="novoCliente" Content="Novo&#xa;Cliente" Margin="20,41,0,598" TextBlock.TextAlignment="Center">
            <Button.Triggers>
                <EventTrigger RoutedEvent="Button.Click">
                    <BeginStoryboard>
                        <Storyboard>
                            <DoubleAnimation Storyboard.Target="gridNovoCliente"
                                         Storyboard.TargetProperty="Opacity"
                                         From="0"
                                         To="1"/>
                        </Storyboard>
                    </BeginStoryboard>
                </EventTrigger>
            </Button.Triggers>
        </Button>

    <Grid Height="705" HorizontalAlignment="Left" Margin="131,12,0,0" Name="gridNovoCliente" VerticalAlignment="Top" Width="859" Background="#FF6FAA6F" Opacity="0">
        <TextBox Height="70" HorizontalAlignment="Left" Margin="270,250,0,0" Name="textBox1" VerticalAlignment="Top" Width="358" />
    </Grid>
</Grid>

【问题讨论】:

    标签: wpf events animation button triggers


    【解决方案1】:
        <Canvas>
            <Button  Name="novoCliente" Content="Novo&#xa;Cliente"  Margin="20,41,0,598" TextBlock.TextAlignment="Center">
            <Button.Triggers>
                <EventTrigger RoutedEvent="Button.Click" >
                    <EventTrigger.Actions>
                        <BeginStoryboard>
                            <Storyboard>
                                <DoubleAnimation Storyboard.TargetName="gridNovoCliente"
                                         Storyboard.TargetProperty="Opacity"
                                         From="0"
                                         To="1"/>
                            </Storyboard>
                        </BeginStoryboard>
                   </EventTrigger.Actions> 
    
                </EventTrigger>
            </Button.Triggers>
        </Button>
    
        <Grid Height="705" HorizontalAlignment="Left" Margin="131,12,0,0" Name="gridNovoCliente" VerticalAlignment="Top" Width="859" Background="#FF6FAA6F" Opacity="0">
            <TextBox Height="70" HorizontalAlignment="Left" Margin="270,250,0,0" Name="textBox1" VerticalAlignment="Top" Width="358" />
        </Grid>
        </Canvas>
    

    这很简单,请尝试上面的 xaml,它对我有用。谢谢

    【讨论】:

    • 谢谢维宾!但是现在错误'设置属性'System.Windows.Media.Animation.Storyboard.Target'引发了异常。在 BeginStoryboard 行:(
    • 它在一个新文件中工作,必须是我的代码中的其他内容。非常感谢 =)
    • 是啊,结帐,祝你好运.. :)
    • 新手问题:我该怎么做?呵呵
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多