wpf - bool 动画锁定属性

标签 wpf silverlight xaml

如果我有一个设置属性的 BooleanAnimation,该属性将被锁定并且无法通过任何其他方式进行更改。

例子:

<EventTrigger
    SourceName="myButton"
    RoutedEvent="Button.Click">
    <EventTrigger.Actions>
        <BeginStoryboard>
            <Storyboard>
                <BooleanAnimationUsingKeyFrames
                    Storyboard.TargetName="myCheckBox"
                    Storyboard.TargetProperty="IsChecked"
                    FillBehavior="HoldEnd">
                    <DiscreteBooleanKeyFrame
                        KeyTime="00:00:00"
                        Value="False" />
                </BooleanAnimationUsingKeyFrames>
            </Storyboard>
        </BeginStoryboard>
    </EventTrigger.Actions>
</EventTrigger>

在此示例中,如果单击按钮,则复选框将设置为 false,但是,如果用户尝试再次选中复选框,则复选框将无响应。 IsChecked 属性也不能通过代码设置(在单击按钮后)。

我可以创建另一个动画来更新 CheckBox,但这不是我需要的行为。

我也试过 FillBehavior="Stop",但这只会导致动画也不起作用。

最佳答案

CheckBox 仍在设置中,但动画仍在运行,这就是为什么它似乎没有选中它。有几种方法可以解决这个问题,以便动画不再控制复选框上的属性。 MSDN Animation概述讨论动画结束时会发生什么。和 how to set a Property after animating it with a Storyboard介绍一些其他选项。

关于wpf - bool 动画锁定属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/942276/

相关文章:

c# - WPF 富文本框的冲突语言设置

wcf - 没有从客户端计算机上的 Silverlight 发送 WCF 请求

silverlight - 动态设置 Silverlight DataGrid 列的标题文本

c# - WPF中的MVVM如何与viewmodel通信

wpf - 将标签与停靠面板的中间对齐

c# - MVVM 的上下文相关命令

silverlight - 具有 RIA 服务的 Entity Framework ,Silverlight - 解耦与快速开发的权衡

c# - WPF 复选框内容不正确

wpf - 禁用切换按钮选择颜色

wpf - 如何将 View 绑定(bind)到使用参数实例化的 View 模型?